Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @model WebApplication1.Models.Cotizacion
- @{
- ViewBag.Title = "PreviewExportPDF";
- }
- @{
- Layout = "~/Views/Shared/_Layout3.cshtml";
- string tipomoneda = (string)ViewBag.TipoMoneda;
- System.Globalization.CultureInfo cultura = new System.Globalization.CultureInfo("is-IS");
- if (tipomoneda == "US" || tipomoneda == "€")
- {
- cultura = new System.Globalization.CultureInfo("en-US");
- }
- int numDecimales = 0;
- if (tipomoneda == "US" || tipomoneda == "€" || tipomoneda == "UF")
- {
- numDecimales = 2;
- }
- bool rubroVehicular = false;
- if (Model.EmpresaId != null)
- {
- rubroVehicular = Model.Empresa.RubroVehículos;
- }
- string codigostring = Model.ClienteId + "|" + Model.Id + "|" + Model.Codigo;
- List<string> titulos = new List<string>();
- foreach (WebApplication1.Clases.CondicionCotizacion cond in ViewBag.CondicionesCotizacion)
- {
- if (titulos.Contains(cond.NombreItem.ToUpper()) == false)
- {
- titulos.Add(cond.NombreItem.ToUpper());
- }
- }
- }
- <div class="container-fluid">
- <div class="row-fluid">
- <div class="span20">
- <div class="widget-box">
- <div class="widget-content">
- <div class="divTable">
- <div class="divTableBody">
- <div class="divTableRow">
- @*<div class="divTableCell" style="text-align:center"><img src="~/img/LogosEmpresas/avangrasustentable.png" /></div>
- <div class="divTableCell" style="text-align:right"><img src="~/img/LogosEmpresas/aynsust.png" /></div>
- <div class="divTableCell" style="text-align:right"><img height="200" width="300" src="~/img/pauchard_logo_large.jpg" /></div>*@
- @{
- if (Model.LogoId != null)
- {
- <div class="divTableCell" style="text-align:right"><img src="@Url.Content("~/img/LogosEmpresas/" + Model.Empresa.Id + "/" + System.IO.Path.GetFileName(Model.LogoRemitente.DireccionLogo))" /></div>
- }
- }
- </div>
- </div>
- </div>
- <div class="divTable">
- <div class="divTableBody">
- <div class="divTableRow">
- <div class="divTableCell taskOptions"></div>
- <div class="divTableCell" style="text-align:center; width:100%"><h4><strong>COTIZACIÓN</strong></h4></div>
- </div>
- </div>
- </div>
- <div class="divTable">
- <div class="divTableBody">
- <div class="divTableRow">
- <div class="divTableCell" style="width:12%"><strong>Referencia:</strong></div>
- <div class="divTableCell" style="width:49%">@Html.DisplayFor(model => model.Emision)</div>
- <div class="divTableCell" style="text-align:right"><h5>Código: @Html.DisplayFor(model => model.Codigo)</h5></div>
- </div>
- </div>
- </div>
- <div class="divTable">
- <div class="divTableBody">
- <div class="divTableRow" style="background-color:#808080; color:#ffffff">
- <div class="divTableCell"><strong>DATOS DEL CLIENTE</strong></div>
- </div>
- </div>
- </div>
- <div class="divTable">
- <div class="divTableBody">
- @if (Model.Cliente.TipoDeCliente == WebApplication1.Models.Cliente.TipoCliente.Empresa)
- {
- <div class="divTableRow">
- <div class="divTableCell" style="width:12%">Nombre Fantasía:</div>
- <div class="divTableCell" style="width:17%">@Html.DisplayFor(model => model.Cliente.NombreFantasia)</div>
- <div class="divTableCell" style="width:12%">Giro:</div>
- <div class="divTableCell" style="width:17%">@Html.DisplayFor(model => model.Cliente.Giro)</div>
- </div>
- }
- else if (Model.Cliente.TipoDeCliente == WebApplication1.Models.Cliente.TipoCliente.Particular)
- {
- <div class="divTableRow">
- <div class="divTableCell" style="width:12%">Nombre:</div>
- <div class="divTableCell" style="width:17%">@Html.DisplayFor(model => model.Cliente.Nombre)</div>
- <div class="divTableCell" style="width:12%">Apellido:</div>
- <div class="divTableCell" style="width:20%">@Html.DisplayFor(model => model.Cliente.ApellidoPaterno)</div>
- </div>
- }
- <div class="divTableRow">
- <div class="divTableCell">Email:</div>
- <div class="divTableCell">@Html.DisplayFor(model => model.Cliente.Email)</div>
- <div class="divTableCell">Razón Social:</div>
- <div class="divTableCell">@Html.DisplayFor(model => model.Cliente.RazonSocial)</div>
- </div>
- <div class="divTableRow">
- <div class="divTableCell">Rut:</div>
- <div class="divTableCell">@Html.DisplayFor(model => model.Cliente.Rut)</div>
- @if (Model.Cliente.TipoDeCliente == WebApplication1.Models.Cliente.TipoCliente.Particular)
- {
- <div class="divTableCell">Giro:</div>
- <div class="divTableCell">@Html.DisplayFor(model => model.Cliente.Giro)</div>
- }
- else if (Model.Cliente.TipoDeCliente == WebApplication1.Models.Cliente.TipoCliente.Empresa)
- {
- <div class="divTableCell">Atención:</div>
- string nombreAtendio = "";
- if (Model.UsuarioId != null)
- {
- nombreAtendio = Model.UsuarioQueAtendio.Nombre + " " + Model.UsuarioQueAtendio.Apellido;
- }
- <div class="divTableCell">
- @nombreAtendio
- </div>
- }
- </div>
- <div class="divTableRow">
- <div class="divTableCell">Dirección:</div>
- <div class="divTableCell">@Html.DisplayFor(model => model.Cliente.Domicilio)</div>
- <div class="divTableCell">Fecha Emisión:</div>
- <div class="divTableCell">@Model.Fecha.ToString("dd/MM/yyyy")</div>
- </div>
- <div class="divTableRow">
- <div class="divTableCell">Teléfono:</div>
- <div class="divTableCell">@Html.DisplayFor(model => model.Cliente.Telefono)</div>
- @if (Model.Cliente.TipoDeCliente == WebApplication1.Models.Cliente.TipoCliente.Particular)
- {
- string nombre = "";
- <div class="divTableCell">Atención:</div>
- {
- if (Model.UsuarioId != null)
- {
- nombre = Model.UsuarioQueAtendio.Nombre + " " + Model.UsuarioQueAtendio.Apellido;
- }
- }
- <div class="divTableCell">
- @nombre
- </div>
- }
- </div>
- </div>
- </div>
- @{if (rubroVehicular == true && Model.VehiculoId != null)
- {
- <div class="divTable">
- <div class="divTableBody">
- <div class="divTableRow" style="background-color:#808080; color:#ffffff">
- <div class="divTableCell"><strong>DATOS DEL VEHÍCULO</strong></div>
- </div>
- </div>
- </div>
- <div class="divTable">
- <div class="divTableBody">
- <div class="divTableRow">
- <div class="divTableCell" style="width:12%">Patente:</div>
- <div class="divTableCell" style="width:17%">@Model.Vehiculo.Patente</div>
- <div class="divTableCell" style="width:12%">Modelo:</div>
- <div class="divTableCell" style="width:17%">@Model.Vehiculo.Modelo</div>
- </div>
- <div class="divTableRow">
- <div class="divTableCell" style="width:12%">Marca:</div>
- <div class="divTableCell" style="width:17%">@Model.Vehiculo.Marca</div>
- <div class="divTableCell" style="width:12%">Año:</div>
- <div class="divTableCell" style="width:20%">@Model.Vehiculo.Year</div>
- </div>
- <div class="divTableRow">
- <div class="divTableCell" style="width:12%">Color:</div>
- <div class="divTableCell" style="width:17%">@Model.Vehiculo.Color</div>
- <div class="divTableCell" style="width:12%">Kilometraje:</div>
- <div class="divTableCell" style="width:20%">@Model.Vehiculo.Kilometraje</div>
- </div>
- </div>
- </div>
- }
- }
- </div>
- <div class="widget-content">
- @{
- bool dividirPorCategoria = Model.DividirPorCategoria;
- //puedes fijarte en el email de don felipe con los excel para ver
- //si ese bool es false, todo aparece como hasta ahora
- //si es true la categoría aparece de título
- //y se van acomodando cada producto de esa categoria
- //imagino que el campo "Categoria" no exisitira en la tabla aqui, porque ya estaria en el titulo
- //al final de cada grupo se pone un Total con la suma de los valores
- //el resto de resultados (subtotal, total neto, etc) quedan tal como estan
- List<WebApplication1.Models.ProductoCotizado> productosOrdenadosPorCategoria = new List<WebApplication1.Models.ProductoCotizado>();
- productosOrdenadosPorCategoria = Model.ProductosCotizados;
- if (dividirPorCategoria == true)
- {
- productosOrdenadosPorCategoria = Model.ProductosCotizados.OrderBy(x => x.Producto.Categoria.Categoria).ToList();
- }
- }
- <table class="table table-bordered table-striped" style="width:100%; font-size:11px" id="TablaProductos">
- <thead>
- <tr>
- <th>N°</th>
- <th>Código</th>
- <th>Nombre Producto</th>
- @{ if (dividirPorCategoria == false)
- {
- <th>Categoria</th>}}
- <th>Valor</th>
- <th>Cantidad</th>
- <th>Valor Total</th>
- </tr>
- </thead>
- @{
- float subValorTotal = 0;
- int cont = 0;
- int contCatIn = 1;
- int conCat = 0;
- String categoria = "";}
- @foreach (var item in productosOrdenadosPorCategoria)
- {
- cont++;
- string valorString = (item.Valor).ToString("N" + numDecimales, cultura);
- string totalString = (item.ValorTotal).ToString("N" + numDecimales, cultura);
- if (dividirPorCategoria == true)
- {
- if (categoria != item.Producto.Categoria.Categoria)
- {
- categoria = item.Producto.Categoria.Categoria;
- <tr><td colspan="6" style="background-color:#808080; color:#fff">@categoria</td></tr>
- contCatIn = 1;
- subValorTotal = 0;
- }
- else
- {
- contCatIn++;
- }
- }
- <tr class="odd gradeX">
- <td style="text-align:center; font-weight:bold">@cont</td>
- <td style="text-align:center;">@item.Producto.Codigo</td>
- <td>
- @Html.DisplayFor(modelItem => item.Producto.NombreProducto)
- @if (item.Comentario != null && item.Comentario != "")
- {
- <br />
- @item.Comentario
- }
- </td>
- @{ if (dividirPorCategoria == false)
- {
- <td>@Html.DisplayFor(modelItem => item.Producto.Categoria.Categoria)</td>}}
- <td style="text-align:right">@tipomoneda @valorString</td>
- <td style="text-align:center">@Html.DisplayFor(modelItem => item.Cantidad)</td>
- <td style="text-align:right">@tipomoneda @totalString</td>
- </tr>
- if (dividirPorCategoria == true)
- {
- subValorTotal += item.ValorTotal;
- foreach (var p in productosOrdenadosPorCategoria)
- {
- if (categoria == p.Producto.Categoria.Categoria)
- {
- conCat++;
- }
- }
- if (conCat == contCatIn)
- {
- string vString = (subValorTotal).ToString("N" + numDecimales, cultura);
- <tr class="trClass"><td colspan="7" style="text-align:right"><strong>@tipomoneda @vString</strong></td></tr>
- }
- conCat = 0;
- }
- }
- </table>
- <div class="divTable">
- <div class="divTableBody">
- <div class="divTableRow">
- <div class="divTableCell" style="width:60%; min-width:120px">
- @{
- Boolean FormaPago = false;
- int contItems = 0;
- foreach (WebApplication1.Clases.CondicionCotizacion item in ViewBag.CondicionesCotizacion)
- {
- if (item.NombreItem.ToUpper() == "FORMA DE PAGO")
- {
- contItems++;
- FormaPago = true;
- }
- }
- if (FormaPago == true && contItems <= 4)
- {
- titulos.Remove("FORMA DE PAGO");
- contItems = 0;
- <div class="divTable">
- <div class="divTableBody">
- <div class="divTableRow" style="background-color:#808080; color:#ffffff">
- <div class="divTableCell"><strong>FORMA DE PAGO</strong></div>
- </div>
- </div>
- </div>
- <div class="divTable">
- <div class="divTableBody">
- @foreach (WebApplication1.Clases.CondicionCotizacion item in ViewBag.CondicionesCotizacion)
- {
- if (item.NombreItem.ToUpper() == "FORMA DE PAGO")
- {
- contItems++;
- <div class="divTableRow">
- <div class="divTableCell taskOptions" style="width:15px"><strong>@contItems:</strong></div>
- <div class="divTableCell">@item.Descripcion</div>
- </div>
- }
- }
- </div>
- </div>
- contItems = 0;
- }
- }
- <div class="divTable">
- <div class="divTableBody">
- <div class="divTableRow" style="background-color:#808080; color:#ffffff">
- <div class="divTableCell"><strong>OBSERVACIONES</strong></div>
- </div>
- </div>
- </div>
- @Html.DisplayFor(model => model.NotasVendedor)
- </div>
- <div class="divTableCell" style="width:40%; min-width:170px">
- <table class="table table-bordered table-striped" style="width:100%; line-height: 3px; font-size:11px; margin: 0">
- @{
- string subTotalNeto = (Model.SubTotalNeto).ToString("N" + numDecimales, cultura);
- string descuento = (Model.Descuento).ToString("N" + numDecimales, cultura);
- string recargo = (Model.Recargo).ToString("N" + numDecimales, cultura);
- string totalNeto = (Model.TotalNeto).ToString("N" + numDecimales, cultura);
- string iva = (Model.IVA).ToString("N" + numDecimales, cultura);
- string totalPagar = (Model.TotalAPagar).ToString("N" + numDecimales, cultura);
- }
- <tr>
- <td>Sub Total Neto:</td>
- <td style="text-align:right; height:10px;">@tipomoneda @subTotalNeto </td>
- </tr>
- <tr>
- <td>Descuento:</td>
- <td style="text-align:right">@tipomoneda @descuento </td>
- </tr>
- <tr>
- <td>Recargo:</td>
- <td style="text-align:right">@tipomoneda @recargo </td>
- </tr>
- <tr>
- <td>Total Neto:</td>
- <td style="text-align:right">@tipomoneda @totalNeto </td>
- </tr>
- <tr>
- <td>IVA (19%):</td>
- <td style="text-align:right">@tipomoneda @iva </td>
- </tr>
- <tr>
- <td>Total a pagar (iva incl.):</td>
- <td style="text-align:right">@tipomoneda @totalPagar </td>
- </tr>
- </table>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="widget-content">
- @{
- foreach (string titulo in titulos)
- {
- <div class="divTable">
- <div class="divTableBody">
- <div class="divTableRow" style="background-color:#808080; color:#ffffff">
- <div class="divTableCell"><strong>@titulo</strong></div>
- </div>
- </div>
- </div>
- contItems = 0;
- <div class="divTable">
- <div class="divTableBody">
- @foreach (WebApplication1.Clases.CondicionCotizacion item in ViewBag.CondicionesCotizacion)
- {
- if (item.NombreItem.ToUpper() == titulo)
- {
- contItems++;
- <div class="divTableRow">
- <div class="divTableCell taskOptions" style="width:15px"><strong>@contItems:</strong></div>
- <div class="divTableCell">@item.Descripcion</div>
- </div>
- }
- }
- </div>
- </div>
- }
- }
- </div>
- </div>
- </div>
- </div>
- </div>
- <div style="width:100%; text-align:center; font-size:18px; color:black">
- Si quiere confirmar esta cotización, puede hacer uso del siguiente link para informar a la empresa.<br />
- <a style="color:#174ccb" target="_blank" href="@Url.Action("ConfirmarCotizacionDX", "Cotizacion", new { id = Model.Id, codigo = Model.codigoEncriptado })">Confirmar aquí</a>
- </div>
- <br />
- <style>
- .tabC {
- table-layout: fixed;
- }
- .tabD {
- word-wrap: break-word;
- }
- .divTable {
- display: table;
- width: 100%;
- }
- .divTableRow {
- display: table-row;
- }
- .divTableHeading {
- background-color: #EEE;
- display: table-header-group;
- }
- .divTableCell, .divTableHead {
- border: 0em solid #d8d8d8;
- display: table-cell;
- padding: 1px 4px;
- }
- .divTableHeading {
- background-color: #EEE;
- display: table-header-group;
- font-weight: bold;
- }
- .divTableFoot {
- background-color: #EEE;
- display: table-footer-group;
- font-weight: bold;
- }
- .divTableBody {
- display: table-row-group;
- }
- </style>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement