public List <ModelViewInventory> GetInventory(ModelViewUserG Data) { var NegocioUsuario = new BusinessUsers(); var NegocioEmpleado = new BusinessEmployee(); var NegocioModulo = new BusinessModuleService(); var NegocioRecf = new BusinessREFACCIONES(); var dataUsuario = NegocioUsuario.GetUserByToken(Data.TokenUser); var empleado = NegocioEmpleado.GetByUserID(dataUsuario.UserID); if (Data.TokenApp != GlobalConfiguration.TokenWEB) { if (Data.TokenApp != GlobalConfiguration.TokenMobile) { throw new Exception("TokenInvalid"); } } if (dataUsuario == null) { throw new Exception("UserPasswordInvalid"); } var modulo = NegocioModulo.GetAll().Where(a => empleado.Select(p => p.FK_ModuleID).ToList().Contains(a.ModuleID)); var lt = NegocioRecf.GetAllRefc(DateTime.Now.Date, modulo.Select(p => p.ID).ToList(), empleado.Select(p => p.StoreProp).ToList()).Select(p => new ModelViewInventory() { RefManID = p.ID_REF, Quantity = p.TOTDISP.Value }).ToList(); if (lt.Count == 0) { ModelViewInventory model = new ModelViewInventory(); lt.Add(model); } return(lt); }
public List <ModelViewGuarantyBOM> GetLisValidationBOM(ModelViewUserG objCred) { var NegocioUsuario = new BusinessUsers(); var NegocioEmpleado = new BusinessEmployee(); var dataUsuario = NegocioUsuario.GetUserByToken(objCred.TokenUser); var empleado = NegocioEmpleado.GetByUserID(dataUsuario.UserID); if (objCred.TokenApp != GlobalConfiguration.TokenWEB) { if (objCred.TokenApp != GlobalConfiguration.TokenMobile) { throw new Exception("TokenInvalid"); } } if (dataUsuario == null) { throw new Exception("UserPasswordInvalid"); } //var lista = new List<EntityValidationGuarantyBOM>(); var lt = new List <EntityValidationGuarantyBOM>(); if (objCred.Date == null) { lt = GetAll(); } else { lt = GetAll().Where(p => p.ModifyDate >= objCred.Date).ToList(); } return(lt.Select(p => new ModelViewGuarantyBOM() { ValidationGuarantySparePartID = p.PK_ValidationGuarantySparePartID, ProductID = p.FK_ProducID.HasValue ? p.FK_ProducID.Value : 0, BuildOfMaterialsID = p.FK_BuildOfMaterialsID.HasValue ? p.FK_BuildOfMaterialsID.Value : 0, SalesOrganization = p.SalesOrganization, SparePartsID = p.SparePartsID, Model = p.Model, ClientID = p.ClientID, Months = p.Months, ValidFrom = p.ValidFrom.Value.ToString("yyyy-MM-dd"), ValidTo = p.ValidTo.Value.ToString("yyyy-MM-dd"), }).ToList <ModelViewGuarantyBOM>()); //var NegocioOrdenes = new BusinessOrder(); //var NegocioBase = new BusinessInstalledBase(); //var ordenes = NegocioOrdenes.GetAll().Where(p => empleado.Select(q => q.PK_EmployeeID).ToArray<int>().Contains(p.FK_EmployeeID.Value) && p.OrderExecuteDate >= objCred.Date.Value.Date); //var prod = NegocioBase.GetAll(); //var modelos = (from c in ordenes // join p in prod on c.FK_InstalledBaseID equals p.PK_InstalledBaseID // select p.FK_ProductID).Distinct(); //var lista = GetAll(); //return (from d in lista // join e in modelos on d.FK_ProducID equals e // select new ModelViewGuarantyBOM() // { // ValidationGuarantySparePartID = d.PK_ValidationGuarantySparePartID, // ProductID = d.FK_ProducID.HasValue ? d.FK_ProducID.Value : 0, // BuildOfMaterialsID = d.FK_BuildOfMaterialsID.HasValue ? d.FK_BuildOfMaterialsID.Value : 0, // SalesOrganization = d.SalesOrganization, // SparePartsID = d.SparePartsID, // Model = d.Model, // ClientID = d.ClientID, // Months = d.Months, // ValidFrom = d.ValidFrom.Value.ToString("yyyy-MM-dd"), // ValidTo = d.ValidTo.Value.ToString("yyyy-MM-dd"), // }).ToList<ModelViewGuarantyBOM>(); }
public List <ModelViewFailures> GetListCodeFailure(ModelViewUserG objCred) { var NegocioUsuario = new BusinessUsers(); var dataUsuario = NegocioUsuario.GetUserByToken(objCred.TokenUser); if (objCred.TokenApp != GlobalConfiguration.TokenWEB) { if (objCred.TokenApp != GlobalConfiguration.TokenMobile) { throw new Exception("TokenInvalid"); } } if (dataUsuario == null) { throw new Exception("UserPasswordInvalid"); } var NegocioOrdenes = new BusinessOrder(); var NegocioEmpleado = new BusinessEmployee(); var NegocioCodigoFalla = new BusinessCodeFailure(); var NegocioBase = new BusinessInstalledBase(); var codefailure = NegocioCodigoFalla.GetAll(); var empleado = NegocioEmpleado.GetByUserID(dataUsuario.UserID); if (objCred.ProductID == 0) { //var ordenes = NegocioOrdenes.GetAll().Where(p => empleado.Select(q => q.PK_EmployeeID).ToArray<int>().Contains(p.FK_EmployeeID.Value) && p.OrderExecuteDate >= objCred.Date.Value.Date); //var prod = NegocioBase.GetAll(); //var modelos = (from c in ordenes // join p in prod on c.FK_InstalledBaseID equals p.PK_InstalledBaseID // select p.FK_ProductID).Distinct().ToList(); //modelos = modelos.Where(x => x != null).ToList(); var ordenes = NegocioOrdenes.GetAll(empleado.Select(q => q.PK_EmployeeID).ToList(), objCred.Date.Value, false); List <int> baseInstalada = ordenes.Select(p => p.FK_InstalledBaseID).ToList(); var modelos = NegocioBase.GetAllByBI(baseInstalada).Select(p => p.FK_ProductID).Distinct(); modelos = modelos.Where(x => x != null).ToList(); List <int> modelo = modelos.Where(x => x != null).Cast <int>().ToList(); var codfallas = new List <ModelViewFailures>(); foreach (var item in modelos) { var x = (from c in GetByProductID(item.Value) join p in codefailure on c.FK_CodeFailureID equals p.PK_CodeFailureID select new ModelViewFailures() { CodeFailureID = p.PK_CodeFailureID, ProductID = c.FK_ProductID, CodeFailure = p.CodeFailure1, Failure = p.Failure, Complexity = c.Complexity.GetValueOrDefault(), Status = c.Status }).ToList(); codfallas.AddRange(x); } return(codfallas); //return (from c in modelos // join p in GetAll() on c equals p.FK_ProductID // join d in codefailure on p.FK_CodeFailureID equals d.PK_CodeFailureID // select new ModelViewFailures() // { // CodeFailureID = p.FK_CodeFailureID, // ProductID = p.FK_ProductID, // CodeFailure = d.CodeFailure1, // Failure = d.Failure, // Complexity = p.Complexity.GetValueOrDefault(), // Status = p.Status // }).ToList(); } else { return((from c in GetByProductID(objCred.ProductID) join p in codefailure on c.FK_CodeFailureID equals p.PK_CodeFailureID select new ModelViewFailures() { CodeFailureID = p.PK_CodeFailureID, ProductID = c.FK_ProductID, CodeFailure = p.CodeFailure1, Failure = p.Failure, Complexity = c.Complexity.GetValueOrDefault(), Status = c.Status }).ToList()); } }
public List <ModelViewSerialNumber> GetListModel(ModelViewUserG objCred) { var NegocioBase = new BusinessInstalledBase(); var NegocioUsuario = new BusinessUsers(); var NegocioOrdenes = new BusinessOrder(); var NegocioValidacionSN = new BusinessValidationsSerialNumber(); var NegocioEmpleado = new BusinessEmployee(); var user = NegocioUsuario.GetUserByToken(objCred.TokenUser); var empleado = NegocioEmpleado.GetByUserID(user.UserID); var ordenes = NegocioOrdenes.GetAll().Where(p => empleado.Select(q => q.PK_EmployeeID).ToList <int>().Contains(p.FK_EmployeeID.Value) && p.OrderExecuteDate >= objCred.Date); var prod = NegocioBase.GetAll(); var SerialNumber = GetAll(); var Validation = NegocioValidacionSN.GetAll(); if (objCred.ProductID == 0) { var modelos = (from c in ordenes join p in prod on c.FK_InstalledBaseID equals p.PK_InstalledBaseID select p.FK_ProductID).Distinct().ToList(); modelos = modelos.Where(x => x != null).ToList(); var lt = (from c in SerialNumber join p in Validation on c.PK_ModelSerialNumberID equals p.FK_ModelSerialNumberID select new ModelViewSerialNumber() { ModelSerialNumberID = c.PK_ModelSerialNumberID, ProductID = c.FK_ProducID, Model = c.Model, ValidationFormatID = c.ValidationFormatID, ValidDate = c.ValidDate, InitialDate = c.InitialDate != null ? c.InitialDate.Value.ToString("yyyy-MM-dd") : "", EndDate = c.EndDate != null ? c.EndDate.Value.ToString("yyyy-MM-dd") : "", ValidationsSerialNumberID = p.PK_ValidationsSerialNumberID, ValidationName = p.ValidationName, InitialPosition = p.InitialPosition, FinalPosition = p.FinalPosition, Allowed = p.Allowed, RankID = p.RankID }).ToList(); return((from c in modelos join p in lt on c equals p.ProductID select p).ToList()); } else { return((from c in SerialNumber.Where(p => p.FK_ProducID == objCred.ProductID) join p in Validation on c.PK_ModelSerialNumberID equals p.FK_ModelSerialNumberID select new ModelViewSerialNumber() { ModelSerialNumberID = c.PK_ModelSerialNumberID, ProductID = c.FK_ProducID, Model = c.Model, ValidationFormatID = c.ValidationFormatID, ValidDate = c.ValidDate, InitialDate = c.InitialDate != null ? c.InitialDate.Value.ToString("yyyy-MM-dd") : "", EndDate = c.EndDate != null ? c.EndDate.Value.ToString("yyyy-MM-dd") : "", ValidationsSerialNumberID = p.PK_ValidationsSerialNumberID, ValidationName = p.ValidationName, InitialPosition = p.InitialPosition, FinalPosition = p.FinalPosition, Allowed = p.Allowed, RankID = p.RankID }).ToList()); } //return lt; }
//public List<ModelViewSpareParts> GetListSparePartsComplete(ModelViewUserG objCred) //{ // return new RepositoryBuildOfMaterial().GetList(objCred); //} public List <ModelViewSpareParts> GetListSpareParts(ModelViewUserG objCred) { var NegocioBase = new BusinessInstalledBase(); var NegocioUsuario = new BusinessUsers(); var NegocioOrdenes = new BusinessOrder(); var NegocioEmpleado = new BusinessEmployee(); var NegocioManoObra = new BusinessWorkforce(); var user = NegocioUsuario.GetUserByToken(objCred.TokenUser); var empleado = NegocioEmpleado.GetByUserID(user.UserID); var lista = new List <ModelViewSpareParts>(); if (objCred.ProductID == 0) { //var ordenes1 = NegocioOrdenes.GetAll().Where(p => empleado.Select(q => q.PK_EmployeeID).ToArray<int>().Contains(p.FK_EmployeeID.Value) && p.OrderExecuteDate >= objCred.Date); var ordenes = NegocioOrdenes.GetAll(empleado.Select(q => q.PK_EmployeeID).ToList(), objCred.Date.Value, false); List <int> baseInstalada = ordenes.Select(p => p.FK_InstalledBaseID).ToList(); //var prod = NegocioBase.GetAll(); //var modelos = (from c in ordenes // join p in prod on c.FK_InstalledBaseID equals p.PK_InstalledBaseID // select p.FK_ProductID).Distinct(); var modelos = NegocioBase.GetAllByBI(baseInstalada).Select(p => p.FK_ProductID).Distinct(); modelos = modelos.Where(x => x != null).ToList(); List <int> modelo = modelos.Where(x => x != null).Cast <int>().ToList(); lista = GetListSparePartsByModel(modelo); //lista = (from c in modelos // join p in GetAll() on c equals p.FK_ProductID // select new ModelViewSpareParts() // { // BuildOfMaterialsID = p.PK_BuildOfMaterialsID, // ProductID = p.FK_ProductID, // Model = p.Model, // SparePartsID = p.SparePartsID, // Quantity = p.Quantity, // SpartePartDescription = p.SparePartDescription, // StatusBOM = p.StatusBOM, // Status = p.Status // }).ToList<ModelViewSpareParts>(); } else { lista = GetAll().Where(p => p.FK_ProductID == objCred.ProductID).Select(p => new ModelViewSpareParts() { BuildOfMaterialsID = p.PK_BuildOfMaterialsID, ProductID = p.FK_ProductID, Model = p.Model, SparePartsID = p.SparePartsID, Quantity = p.Quantity, SpartePartDescription = p.SparePartDescription, StatusBOM = p.StatusBOM, Status = p.Status }).ToList <ModelViewSpareParts>(); } var demo2 = NegocioManoObra.GetAll().Where(p => p.WorkforceID == "8011161600000031").Select(p => new ModelViewSpareParts { BuildOfMaterialsID = 0, ProductID = 0, Model = "", SparePartsID = p.WorkforceID, Quantity = 1, SpartePartDescription = p.Description, StatusBOM = "", Status = p.Status, }).First(); var demo3 = NegocioManoObra.GetAll().Where(p => p.WorkforceID == "8011161600000032").Select(p => new ModelViewSpareParts { BuildOfMaterialsID = 0, ProductID = 0, Model = "", SparePartsID = p.WorkforceID, Quantity = 1, SpartePartDescription = p.Description, StatusBOM = "", Status = p.Status, }).First(); lista.Add(demo2); lista.Add(demo3); return(lista); }
public string SetRefQuotation(ModelViewUserG objCred, ModelViewBilling obj) { var objRepository = new RepositoryOrder(); var NegocioOrden = new BusinessOrder(); var objAlerta = new BusinessNotification(); var NegocioUsuario = new BusinessUsers(); var NegocioCliente = new BusinessClient(); var NegocioBase = new BusinessInstalledBase(); var NegocioProducto = new BusinessProduct(); var NegocioFallas = new BusinessCodeFailure(); var NegocioBOM = new BusinessBuildOfMaterial(); var NegocioCotizacion = new BusinessQuotation(); var NegocioCotizacionDetalle = new BusinessRefsellDetail(); var NegocioCFP = new BusinessCodeFailureByProduct(); var NegocioCF = new BusinessCodeFailure(); var NegocioLugarCompra = new BusinessShopPlace(); var NegocioEmpleado = new BusinessEmployee(); var NegocioMonitor = new BusinessVisit(); var NegocioHistorico = new BusinessHistory(); var NegocioGarantia = new BusinessGuaranty(); var NegocioPayment = new BusinessPayment(); var NegocioInvoice = new BusinessInvoice(); var NegocioRefsell = new BusinessRefsell(); var dataUsuario = NegocioUsuario.GetUserByToken(objCred.TokenUser); if (objCred.TokenApp != GlobalConfiguration.TokenWEB) { if (objCred.TokenApp != GlobalConfiguration.TokenMobile) { throw new Exception("TokenInvalid"); } } if (dataUsuario == null) { throw new Exception("UserPasswordInvalid"); } var empleado = NegocioEmpleado.GetByUserID(dataUsuario.UserID); var orden = NegocioOrden.GetByOrderID(obj.ODS); var cliente = NegocioCliente.GetByID(orden.FK_ClientID); var lugarcompra = NegocioLugarCompra.GetByShopPlaceID(obj.FK_ShopPlaceID.Value); var pro = NegocioProducto.GetByID(obj.FK_ProductID.Value); SpreadsheetInfo.SetLicense("EQU2-3K5L-UZDC-SDYN"); string Origin = GlobalConfiguration.MabeAttachmentsLocal + "FormatoVentaRefacciones.xlsx"; List <string> result = obj.EMails.Split(new char[] { ';' }).ToList(); ExcelFile ef = ExcelFile.Load(Origin); ExcelWorksheet ws = ef.Worksheets[0]; string Folio = ""; ws.Cells["L7"].Value = obj.ODS; ws.Cells["L9"].Value = cliente.ClientID; ws.Cells["L11"].Value = cliente.FirstName.ToUpper() + " " + cliente.LastName.ToUpper(); ws.Cells["L13"].Value = pro.Model + " / " + pro.ProductName.ToUpper(); ws.Cells["U13"].Value = DateTime.Today.ToString("dd-MM-yyyy"); ws.Cells["L80"].Value = obj.ODS; int cantidad = 30; int cantidad1 = 31; foreach (var jko in obj.BillingDetails) { if (jko.SparePartsDescription.EndsWith("-R")) { Folio = jko.SparePartsDescription; ws.Cells["L6"].Value = Folio; ws.Cells["L79"].Value = Folio; } else { if (cantidad == 60) { cantidad = 85; cantidad1 = 86; } var bom = NegocioBOM.GetByID(jko.ProductID); if (bom != null) { ws.Cells["L" + cantidad1.ToString()].Value = bom.SparePartsID; ws.Cells["L" + cantidad.ToString()].Value = bom.SparePartDescription; } else { ws.Cells["L" + cantidad1.ToString()].Value = jko.RefManID; ws.Cells["L" + cantidad.ToString()].Value = jko.SparePartsDescription; } ws.Cells["J" + cantidad.ToString()].Value = jko.Quantity; ws.Cells["T" + cantidad.ToString()].Value = Convert.ToDouble(jko.Price); ws.Cells["V" + cantidad.ToString()].Value = Convert.ToDouble(jko.Totals); cantidad = cantidad + 3; cantidad1 = cantidad1 + 3; } } double subtotal = Convert.ToDouble(obj.SubTotal.Substring(1)); double iva = Convert.ToDouble(obj.IVA.Substring(1)); double total = Convert.ToDouble(obj.Total.Substring(1)); double subtotalref = subtotal; string totalletras = NegocioOrden.enletras(total.ToString()); ws.Cells["M16"].Value = subtotalref; ws.Cells["M17"].Value = subtotal; ws.Cells["M18"].Value = iva; ws.Cells["U17"].Value = total; ws.Cells["M19"].Value = totalletras; string file = "Cotización_" + Folio + ".pdf"; string quotion = "CotizacionesRefaccion_" + DateTime.Today.ToString("yyyyMMdd"); string Destiny = GlobalConfiguration.MabeAttachmentsLocal + quotion + "/" + file; if (obj.BillingDetails.Count < 11) { ws.NamedRanges.SetPrintArea(ws.Cells.GetSubrange("J1", "W74")); } string Cotizaciones = new DirectoryInfo(GlobalConfiguration.MabeAttachmentsLocal).ToString() + quotion; if (!(Directory.Exists(Cotizaciones))) { Directory.CreateDirectory(Cotizaciones); } ef.Save(Destiny); string URL = GlobalConfiguration.urlRequest + "Content/Attachments/" + quotion + "/" + file; var cotizacion = NegocioCotizacion.GetByOrderFolio(orden.PK_OrderID, Folio); var Payment = NegocioPayment.GetPolicyPayment(orden.PK_OrderID, Folio); var Invoice = NegocioInvoice.GetPolicyInvoice(orden.PK_OrderID, Folio); var LsVenta = NegocioRefsell.GetByFolio(orden.PK_OrderID, Folio); if (obj.EMails != "") { if (cotizacion == null) { cotizacion = NegocioCotizacion.Insert(orden.PK_OrderID, subtotal.ToString(), iva.ToString(), total.ToString(), Folio, URL, obj.EstimatedTipe, empleado[0].PK_EmployeeID); } else { cotizacion.Folio = Folio; cotizacion.IVA = iva.ToString(); cotizacion.SubTotal = subtotal.ToString(); cotizacion.Total = total.ToString(); cotizacion.URL = URL; cotizacion.ModifyDate = DateTime.UtcNow; cotizacion.TypeQuotation = obj.EstimatedTipe; cotizacion.FK_EmployeeID = empleado[0].PK_EmployeeID; NegocioCotizacion.Update(cotizacion); } string sb = File.ReadAllText(GlobalConfiguration.LocateBodyMail + "NotificationCotizacion.txt"); string lugCom = obj.ShopDate != null ? obj.ShopDate : ""; sb = sb.Replace("#%Nombre%#", cliente.FirstName + " " + cliente.LastName); sb = sb.Replace("#%OrderID%#", obj.ODS); sb = sb.Replace("#%Folio%#", Folio); sb = sb.Replace("#%Modelo%#", pro.Model); sb = sb.Replace("#%Descripcion%#", pro.ProductName.ToUpper()); sb = sb.Replace("#%Serie%#", obj.SerialNumber); sb = sb.Replace("#%Fecha%#", lugCom); sb = sb.Replace("#%Lugar%#", lugarcompra.ShopPlace1); //objAlerta.SendMails(result, "Cotización ServiPlus", sb.ToString(), Destiny); objAlerta.SendMailExchange(GlobalConfiguration.exchangeUserCotiza, GlobalConfiguration.exchangePwdCotiza, result, "Cotización ServiPlus", sb.ToString(), Destiny); } else { if (LsVenta.PK_RefSellID == 0) { if (cotizacion == null) { cotizacion = NegocioCotizacion.Insert(orden.PK_OrderID, subtotal.ToString(), iva.ToString(), total.ToString(), Folio, URL, obj.EstimatedTipe, empleado[0].PK_EmployeeID); } else { cotizacion.Folio = Folio; cotizacion.IVA = iva.ToString(); cotizacion.SubTotal = subtotal.ToString(); cotizacion.Total = total.ToString(); cotizacion.URL = URL; cotizacion.ModifyDate = DateTime.UtcNow; cotizacion.TypeQuotation = obj.EstimatedTipe; cotizacion.FK_EmployeeID = empleado[0].PK_EmployeeID; NegocioCotizacion.Update(cotizacion); } var NewRefSell = new EntityRefSell(); var NuevaVenta = new EntityRefSell(); NewRefSell.FK_OrderID = orden.PK_OrderID; NewRefSell.FK_ClientID = cliente.PK_ClientID; NewRefSell.FK_EmployeeID = empleado[0].PK_EmployeeID; NewRefSell.FK_PaymentID = Payment.PK_PaymentID; NewRefSell.FK_Invoice_ID = Invoice.InvoicingID; NewRefSell.FK_ProductID = obj.FK_ProductID.Value; NewRefSell.FK_ShopPlace = obj.FK_ShopPlaceID.Value; NewRefSell.FK_QuotationID = cotizacion.PK_QuotationID; NewRefSell.IDRefSell = Folio; NuevaVenta = NegocioRefsell.Insert(NewRefSell); } else { LsVenta.FK_OrderID = orden.PK_OrderID; LsVenta.FK_ClientID = cliente.PK_ClientID; LsVenta.FK_EmployeeID = empleado[0].PK_EmployeeID; LsVenta.FK_PaymentID = Payment.PK_PaymentID; LsVenta.FK_Invoice_ID = Invoice.InvoicingID; LsVenta.FK_QuotationID = LsVenta.FK_QuotationID; LsVenta.FK_ProductID = obj.FK_ProductID.Value; LsVenta.FK_ShopPlace = obj.FK_ShopPlaceID.Value; NegocioRefsell.Update(LsVenta); if (cotizacion == null) { cotizacion = NegocioCotizacion.Insert(orden.PK_OrderID, subtotal.ToString(), iva.ToString(), total.ToString(), Folio, URL, obj.EstimatedTipe, empleado[0].PK_EmployeeID); } else { cotizacion.Folio = Folio; cotizacion.IVA = iva.ToString(); cotizacion.SubTotal = subtotal.ToString(); cotizacion.Total = total.ToString(); cotizacion.URL = URL; cotizacion.ModifyDate = DateTime.UtcNow; cotizacion.TypeQuotation = obj.EstimatedTipe; cotizacion.FK_EmployeeID = empleado[0].PK_EmployeeID; NegocioCotizacion.Update(cotizacion); } } string[] lstADR = { "T002", "T012", "T024" }; foreach (var jko in obj.BillingDetails) { string ADRAnt = ""; int ADRCount = 0; bool AddFlete = false; if (jko.SparePartsDescription != Folio) { switch (jko.SparePartsDescription) { case "Fletes": { var DetailCotation2 = NegocioCotizacionDetalle.GetList(cotizacion.PK_QuotationID); foreach (var items in DetailCotation2) { if (lstADR.Contains(items.Origen)) { if (ADRAnt != items.Origen) { ADRAnt = items.Origen; ADRCount++; if (ADRCount < 3) { AddFlete = true; } else { AddFlete = false; } } if (AddFlete) { items.Flete = true; items.CostoFlete = jko.Price; NegocioCotizacionDetalle.Update(items); AddFlete = false; } } } } break; default: var newDetailquotion = NegocioCotizacionDetalle.GetDetail(cotizacion.PK_QuotationID, jko.ProductID); if (newDetailquotion == null) { NegocioCotizacionDetalle.Insert(cotizacion.PK_QuotationID, jko.ProductID, jko.Quantity.ToString(), jko.RefManID, jko.Origins, jko.Price); } break; } } } var Refacciones = new BusinessMabe().Orden_Venta(obj.ODS, obj.ServiceTypes, Folio); } return(obj.ODS); }
public string CreateReceipt(ModelViewUserG objCred, ModelViewReceiptRef obj) { var objRepository = new RepositoryOrder(); var NegocioOrden = new BusinessOrder(); var objAlerta = new BusinessNotification(); var NegocioUsuario = new BusinessUsers(); var NegocioCliente = new BusinessClient(); var NegocioContrato = new BusinessContrat(); var NegocioEmpleado = new BusinessEmployee(); var NegocioBOM = new BusinessBuildOfMaterial(); var dataUsuario = NegocioUsuario.GetUserByToken(objCred.TokenUser); if (objCred.TokenApp != GlobalConfiguration.TokenWEB) { if (objCred.TokenApp != GlobalConfiguration.TokenMobile) { throw new Exception("TokenInvalid"); } } if (dataUsuario == null) { throw new Exception("UserPasswordInvalid"); } var empleado = NegocioEmpleado.GetByUserID(dataUsuario.UserID); var orden = NegocioOrden.GetByOrderID(obj.FK_OrderID); var cliente = NegocioCliente.GetByID(orden.FK_ClientID); SpreadsheetInfo.SetLicense("EQU2-3K5L-UZDC-SDYN"); string Origin = GlobalConfiguration.MabeAttachmentsLocal + "FormatoReciboRef.xlsx"; List <string> result = obj.EMails.Split(new char[] { ';' }).ToList(); ExcelFile ef = ExcelFile.Load(Origin); ExcelWorksheet ws = ef.Worksheets[0]; ws.Cells["W9"].Value = obj.Folio; ws.Cells["W12"].Value = DateTime.Today.ToString("dd-MM-yyyy"); ws.Cells["L18"].Value = cliente.FirstName.ToUpper(); ws.Cells["P18"].Value = cliente.LastName.ToUpper(); ws.Cells["L21"].Value = cliente.PhoneNumber1; ws.Cells["T21"].Value = cliente.PhoneNumber2; ws.Cells["M23"].Value = cliente.Email; int cantidad = 29; foreach (var jko in obj.SpareParts) { if (cantidad == 60) { cantidad = 85; } ////var bom = NegocioBOM.GetByID(jko.ProductID); //if (bom != null) //{ // ws.Cells["L" + cantidad1.ToString()].Value = bom.SparePartsID; // ws.Cells["L" + cantidad.ToString()].Value = bom.SparePartDescription; //} else { ws.Cells["K" + cantidad.ToString()].Value = jko.RefManID; ws.Cells["M" + cantidad.ToString()].Value = jko.SparePartsDescription; } ws.Cells["R" + cantidad.ToString()].Value = jko.Quantity; ws.Cells["U" + cantidad.ToString()].Value = Convert.ToDouble(jko.Price); ws.Cells["W" + cantidad.ToString()].Value = Convert.ToDouble(jko.Totals); cantidad = cantidad + 1; } double subtotal = Convert.ToDouble(obj.SubTotal); double iva = Convert.ToDouble(obj.IVA); double total = Convert.ToDouble(obj.Total); double subtotalref = subtotal; string totalletras = NegocioOrden.enletras(total.ToString()); ws.Cells["W41"].Value = subtotalref; ws.Cells["W42"].Value = iva; ws.Cells["W43"].Value = total; string file = "ReciboRef" + obj.Folio + ".pdf"; string quotion = "RecibosRefaccion_" + DateTime.Today.ToString("yyyyMMdd"); string Destiny = GlobalConfiguration.MabeAttachmentsLocal + quotion + "/" + file; if (obj.SpareParts.Count < 11) { ws.NamedRanges.SetPrintArea(ws.Cells.GetSubrange("J1", "X54")); } string Cotizaciones = new DirectoryInfo(GlobalConfiguration.MabeAttachmentsLocal).ToString() + quotion; if (!(Directory.Exists(Cotizaciones))) { Directory.CreateDirectory(Cotizaciones); } ef.Save(Destiny); string URL = GlobalConfiguration.urlRequest + "Content/Attachments/" + quotion + "/" + file; var Recibo = NegocioContrato.GetByOrderFolio(orden.PK_OrderID, obj.Folio); if (obj.EMails != "") { if (Recibo == null) { Recibo = NegocioContrato.Insert(orden.PK_OrderID, obj.Folio, URL); } else { Recibo.Fk_OrderID = orden.PK_OrderID; Recibo.Folio = obj.Folio; Recibo.Ruta = URL; NegocioContrato.Update(Recibo); } string sb = File.ReadAllText(GlobalConfiguration.LocateBodyMail + "MaiReciboRef.txt"); sb = sb.Replace("#%Nombre%#", cliente.FirstName + " " + cliente.LastName); sb = sb.Replace("#%Folio%#", obj.Folio); objAlerta.SendMailExchange(GlobalConfiguration.exchangeUserCotiza, GlobalConfiguration.exchangePwdCotiza, result, "Recibo Refacciones", sb.ToString(), Destiny); return(URL); } else { string Tipo = "Recibo"; var EnvioSMS = SendNotification(obj.PhoneNumber, Tipo, URL); return(EnvioSMS); } }
public string SetPolicyQuotation(ModelViewUserG objCred, ModelViewBilling obj) { var NegocioOrders = new BusinessOrder(); var objAlerta = new BusinessNotification(); var NegocioUsuario = new BusinessUsers(); var NegocioCliente = new BusinessClient(); var NegocioProducto = new BusinessProduct(); var NegocioCotizacion = new BusinessQuotation(); var NegocioEmpleado = new BusinessEmployee(); var NegocioMonitor = new BusinessVisit(); var NegocioPayment = new BusinessPayment(); var NegocioInvoice = new BusinessInvoice(); var dataUsuario = NegocioUsuario.GetUserByToken(objCred.TokenUser); if (objCred.TokenApp != GlobalConfiguration.TokenWEB) { if (objCred.TokenApp != GlobalConfiguration.TokenMobile) { throw new Exception("TokenInvalid"); } } if (dataUsuario == null) { throw new Exception("UserPasswordInvalid"); } var empleado = NegocioEmpleado.GetByUserID(dataUsuario.UserID); var orden = NegocioOrders.GetByOrderID(obj.ODS); var cliente = NegocioCliente.GetByID(orden.FK_ClientID); var pro = NegocioProducto.GetByID(obj.FK_ProductID.Value); string Folio = obj.Policies.Folio; var cotizacion = NegocioCotizacion.GetByOrderFolio(orden.PK_OrderID, Folio); var Payment = NegocioPayment.GetPolicyPayment(orden.PK_OrderID, Folio); var Invoice = NegocioInvoice.GetPolicyInvoice(orden.PK_OrderID, Folio); var LsPolicy = GetByFolio(orden.PK_OrderID, Folio); SpreadsheetInfo.SetLicense("EQU2-3K5L-UZDC-SDYN"); string Origin = GlobalConfiguration.MabeAttachmentsLocal + "FormatoPolizas.xlsx"; List <string> result = obj.EMails.Split(new char[] { ';' }).ToList(); ExcelFile ef = ExcelFile.Load(Origin); ExcelWorksheet ws = ef.Worksheets[0]; ws.Cells["L6"].Value = Folio; //ws.Cells["L7"].Value = obj.ODS; ws.Cells["L9"].Value = cliente.ClientID; ws.Cells["L11"].Value = cliente.FirstName.ToUpper() + " " + cliente.LastName.ToUpper(); ws.Cells["L13"].Value = pro.Model + " / " + pro.ProductName.ToUpper(); ws.Cells["U13"].Value = DateTime.Today.ToString("dd-MM-yyyy"); ws.Cells["L79"].Value = Folio; //ws.Cells["L80"].Value = obj.ODS; int cantidad = 30; int cantidad1 = 31; ws.Cells["L" + cantidad1.ToString()].Value = obj.Policies.PolicyDescription; ws.Cells["L" + cantidad.ToString()].Value = "Venta de Poliza"; ws.Cells["J" + cantidad.ToString()].Value = 1; ws.Cells["V" + cantidad.ToString()].Value = Convert.ToDouble(obj.SubTotal); double subtotal = Convert.ToDouble(obj.SubTotal.Substring(0)); double iva = Convert.ToDouble(obj.IVA.Substring(0)); double total = Convert.ToDouble(obj.Total.Substring(0)); double subtotalref = subtotal; string totalletras = NegocioOrders.enletras(total.ToString()); ws.Cells["M17"].Value = subtotal; ws.Cells["M18"].Value = iva; ws.Cells["U16"].Value = total; ws.Cells["M19"].Value = totalletras; string file = "CotizaciónPoliza_" + Folio + ".pdf"; string quotion = "CotizacionesPoliza_" + DateTime.Today.ToString("yyyyMMdd"); string Destiny = GlobalConfiguration.MabeAttachmentsLocal + quotion + "/" + file; if (obj.BillingDetails.Count < 11) { ws.NamedRanges.SetPrintArea(ws.Cells.GetSubrange("J1", "W74")); } string Cotizaciones = new DirectoryInfo(GlobalConfiguration.MabeAttachmentsLocal).ToString() + quotion; if (!(Directory.Exists(Cotizaciones))) { Directory.CreateDirectory(Cotizaciones); } ef.Save(Destiny); string URL = GlobalConfiguration.urlRequest + "Content/Attachments/" + quotion + "/" + file; if (obj.EMails != "") { if (cotizacion == null) { cotizacion = NegocioCotizacion.Insert(orden.PK_OrderID, subtotal.ToString(), iva.ToString(), total.ToString(), Folio, URL, obj.EstimatedTipe, empleado[0].PK_EmployeeID); } else { cotizacion.Folio = Folio; cotizacion.IVA = iva.ToString(); cotizacion.SubTotal = subtotal.ToString(); cotizacion.Total = total.ToString(); cotizacion.URL = URL; cotizacion.ModifyDate = DateTime.UtcNow; cotizacion.TypeQuotation = obj.EstimatedTipe; cotizacion.FK_EmployeeID = empleado[0].PK_EmployeeID; NegocioCotizacion.Update(cotizacion); } string sb = File.ReadAllText(GlobalConfiguration.LocateBodyMail + "NotificationPoliza.txt"); string lugCom = obj.ShopDate != null ? obj.ShopDate : ""; sb = sb.Replace("#%Nombre%#", cliente.FirstName + " " + cliente.LastName); sb = sb.Replace("#%OrderID%#", obj.ODS); sb = sb.Replace("#%Folio%#", Folio); sb = sb.Replace("#%Modelo%#", pro.Model); sb = sb.Replace("#%Descripcion%#", pro.ProductName.ToUpper()); sb = sb.Replace("#%Fecha%#", obj.Policies.PolicyDate); sb = sb.Replace("#%Vigencia1%#", obj.Policies.PolicyDescription); sb = sb.Replace("#%Precio%#", obj.Total); objAlerta.SendMailExchange(GlobalConfiguration.exchangeUserCotiza, GlobalConfiguration.exchangePwdCotiza, result, "Cotización ServiPlus", sb.ToString(), Destiny); } else { if (LsPolicy.PK_PolicyID == 0) { if (cotizacion == null) { cotizacion = NegocioCotizacion.Insert(orden.PK_OrderID, subtotal.ToString(), iva.ToString(), total.ToString(), Folio, URL, obj.EstimatedTipe, empleado[0].PK_EmployeeID); } else { cotizacion.Folio = Folio; cotizacion.IVA = iva.ToString(); cotizacion.SubTotal = subtotal.ToString(); cotizacion.Total = total.ToString(); cotizacion.URL = URL; cotizacion.ModifyDate = DateTime.UtcNow; cotizacion.TypeQuotation = obj.EstimatedTipe; cotizacion.FK_EmployeeID = empleado[0].PK_EmployeeID; NegocioCotizacion.Update(cotizacion); } var NewPolicy = new EntityPolicy(); var NuevaPoliza = new EntityPolicy(); NewPolicy.FK_OrderID = orden.PK_OrderID; NewPolicy.FK_ClientID = cliente.PK_ClientID; NewPolicy.FK_EmployeeID = empleado[0].PK_EmployeeID; NewPolicy.FK_PaymentID = Payment.PK_PaymentID; NewPolicy.FK_Invoice_ID = Invoice.InvoicingID; NewPolicy.FK_QuotationID = cotizacion.PK_QuotationID; NewPolicy.FK_ProductID = pro.PK_ProductID; NewPolicy.FK_ShopPlace = obj.FK_ShopPlaceID.Value; NewPolicy.IDPolicy = obj.Policies.Folio; NewPolicy.SerialNumber = obj.SerialNumber; NewPolicy.PriceList = obj.Policies.PriceList; NewPolicy.PolicyPrice = obj.Policies.PolicyPrice; NewPolicy.Coin = obj.Policies.Coin; NewPolicy.SalesOrg = obj.Policies.SalesOrg; NewPolicy.ccGroup = obj.Policies.ccGroup; NewPolicy.MaterialGroup4 = obj.Policies.MaterialGroup4; NewPolicy.GuarantyStart = Convert.ToDateTime(obj.Policies.GuarantyStart); NewPolicy.GuarantyEnd = Convert.ToDateTime(obj.Policies.GuarantyEnd); NewPolicy.PolicyDate = obj.Policies.PolicyDate; NuevaPoliza = Insert(NewPolicy); } else { LsPolicy.FK_OrderID = orden.PK_OrderID; LsPolicy.FK_ClientID = cliente.PK_ClientID; LsPolicy.FK_EmployeeID = empleado[0].PK_EmployeeID; LsPolicy.FK_PaymentID = Payment.PK_PaymentID; LsPolicy.FK_Invoice_ID = Invoice.InvoicingID; LsPolicy.FK_QuotationID = LsPolicy.FK_QuotationID; LsPolicy.FK_ProductID = obj.Policies.ProductID; LsPolicy.FK_ShopPlace = obj.FK_ShopPlaceID.Value; LsPolicy.IDPolicy = obj.Policies.Folio; LsPolicy.PolicyPrice = obj.Policies.PolicyPrice; LsPolicy.Coin = obj.Policies.Coin; LsPolicy.SalesOrg = obj.Policies.SalesOrg; LsPolicy.PriceList = obj.Policies.PriceList; LsPolicy.SerialNumber = obj.SerialNumber; LsPolicy.ccGroup = obj.Policies.ccGroup; LsPolicy.MaterialGroup4 = obj.Policies.MaterialGroup4; LsPolicy.GuarantyEnd = Convert.ToDateTime(obj.Policies.GuarantyEnd); LsPolicy.GuarantyStart = Convert.ToDateTime(obj.Policies.GuarantyStart); LsPolicy.PolicyDate = obj.Policies.PolicyDate; Update(LsPolicy); if (cotizacion == null) { cotizacion = NegocioCotizacion.Insert(orden.PK_OrderID, subtotal.ToString(), iva.ToString(), total.ToString(), Folio, URL, obj.EstimatedTipe, empleado[0].PK_EmployeeID); } else { cotizacion.Folio = Folio; cotizacion.IVA = iva.ToString(); cotizacion.SubTotal = subtotal.ToString(); cotizacion.Total = total.ToString(); cotizacion.URL = URL; cotizacion.ModifyDate = DateTime.UtcNow; cotizacion.TypeQuotation = obj.EstimatedTipe; cotizacion.FK_EmployeeID = empleado[0].PK_EmployeeID; NegocioCotizacion.Update(cotizacion); } } var Refacciones = new BusinessMabe().Orden_Venta(obj.ODS, obj.ServiceTypes, Folio); } return(obj.ODS); }