public ActionResult Create([Bind(Include = "LAND,SPRAS,LANDX,IMAGE,ACTIVO")] PAI pAI) { pAI.ACTIVO = true; var con = db.PAIS.Where(x => x.LAND == pAI.LAND && x.ACTIVO == false).ToList(); if (con.Count == 0) { if (ModelState.IsValid) { db.PAIS.Add(pAI); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(pAI)); } else { if (ModelState.IsValid) { var res = db.PAIS.Where(x => x.LAND == pAI.LAND).First(); res.ACTIVO = true; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(pAI)); } }
public void insertElement(object element, USUARIO u) { if (element != null) { using (var entity = new TAE2Entities()) { PAI pais = (PAI)element; var validacion = (from cust in entity.PAIS where cust.PAIS == pais.PAIS select cust).ToList(); if (validacion.Count == 0) { pais.UNID_PAIS = UNID.getNewUNID(); //Sync pais.IS_MODIFIED = true; pais.LAST_MODIFIED_DATE = UNID.getNewUNID(); var modifiedSync = entity.SYNCs.First(p => p.UNID_SYNC == 20120101000000000); modifiedSync.ACTUAL_DATE = UNID.getNewUNID(); entity.SaveChanges(); // entity.PAIS.AddObject(pais); entity.SaveChanges(); UNID.Master(pais, u, -1, "Inserción"); } } } }
public CatalogPaisModel(IDataMapper dataMapper) { this._dataMapper = new PaisDataMapper(); this._pais = new FixupCollection <DeletePais>(); this._selectedPais = new PAI(); this.loadItems(); }
public void loadSync(object element) { if (element != null) { PAI poco = (PAI)element; using (var entity = new TAE2Entities()) { var query = (from cust in entity.PAIS where poco.UNID_PAIS == cust.UNID_PAIS select cust).ToList(); //Actualización if (query.Count > 0) { var aux = query.First(); if (aux.LAST_MODIFIED_DATE < poco.LAST_MODIFIED_DATE) { udpateElementSync((object)poco); } } //Inserción else { insertElementSync((object)poco); } var modifiedMenu = entity.PAIS.First(p => p.UNID_PAIS == poco.UNID_PAIS); modifiedMenu.IS_MODIFIED = false; entity.SaveChanges(); } } }
public DeletePais(PAI pais) { this.UNID_PAIS = pais.UNID_PAIS; this.PAIS = pais.PAIS; this.ISO = pais.ISO; this.IS_ACTIVE = pais.IS_ACTIVE; this.IsChecked = false; }
public ActionResult DeleteConfirmed(string id) { PAI pAI = db.PAIS.Find(id); pAI.ACTIVO = false; db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "LAND,SPRAS,LANDX,IMAGE,ACTIVO")] PAI pAI) { if (ModelState.IsValid) { db.Entry(pAI).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(pAI)); }
// GET: Pais/Delete/5 public ActionResult Delete(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } PAI pAI = db.PAIS.Find(id); if (pAI == null) { return(HttpNotFound()); } return(View(pAI)); }
public DeleteProveedor(PROVEEDOR proveedor) { this.UNID_PROVEEDOR = proveedor.UNID_PROVEEDOR; this.PROVEEDOR_NAME = proveedor.PROVEEDOR_NAME; this._pais = proveedor.PAI; this._ciudad = proveedor.CIUDAD; this.UNID_PAIS = proveedor.UNID_PAIS; this.UNID_CIUDAD = proveedor.UNID_CIUDAD; this.CONTACTO = proveedor.CONTACTO; this.TEL1 = proveedor.TEL1; this.TEL2 = proveedor.TEL2; this.MAIL = proveedor.MAIL; this.CALLE = proveedor.CALLE; this.CODIGO_POSTAL = proveedor.CODIGO_POSTAL; this.RFC = proveedor.RFC; this.IS_ACTIVE = proveedor.IS_ACTIVE; this.IsChecked = false; }
public void insertElementSync(object element) { if (element != null) { using (var entity = new TAE2Entities()) { PAI pais = (PAI)element; //Sync var modifiedSync = entity.SYNCs.First(p => p.UNID_SYNC == 20120101000000000); modifiedSync.ACTUAL_DATE = UNID.getNewUNID(); entity.SaveChanges(); // entity.PAIS.AddObject(pais); entity.SaveChanges(); } } }
public void udpateElement(object element, USUARIO u) { if (element != null) { using (var entity = new TAE2Entities()) { PAI pais = (PAI)element; var modifiedPais = entity.PAIS.First(p => p.UNID_PAIS == pais.UNID_PAIS); modifiedPais.PAIS = pais.PAIS; modifiedPais.ISO = pais.ISO; //Sync modifiedPais.IS_MODIFIED = true; modifiedPais.LAST_MODIFIED_DATE = UNID.getNewUNID(); var modifiedSync = entity.SYNCs.First(p => p.UNID_SYNC == 20120101000000000); modifiedSync.ACTUAL_DATE = UNID.getNewUNID(); entity.SaveChanges(); // UNID.Master(pais, u, -1, "Modificación"); } } }
public void deleteElement(object element) { if (element != null) { using (var entity = new TAE2Entities()) { PAI pais = (PAI)element; var deletePais = entity.PAIS.First(p => p.UNID_PAIS == pais.UNID_PAIS); deletePais.IS_ACTIVE = false; //Sync deletePais.IS_MODIFIED = true; deletePais.LAST_MODIFIED_DATE = UNID.getNewUNID(); var modifiedSync = entity.SYNCs.First(p => p.UNID_SYNC == 20120101000000000); modifiedSync.ACTUAL_DATE = UNID.getNewUNID(); entity.SaveChanges(); // entity.SaveChanges(); } } }
public object getElement(object element) { object res = null; if (element != null) { PAI Eprov = (PAI)element; FixupCollection <PAI> tp = new FixupCollection <PAI>(); using (var Entity = new TAE2Entities()) { var query = (from p in Entity.PAIS where p.UNID_PAIS == Eprov.UNID_PAIS select p).ToList(); if (query.Count > 0) { res = query; } } } return(res); }
// GET: Pais/Edit/5 public ActionResult Edit(string id) { int pagina = 652; //ID EN BASE DE DATOS string u = User.Identity.Name; var user = db.USUARIOs.Where(a => a.ID.Equals(u)).FirstOrDefault(); ViewBag.permisos = db.PAGINAVs.Where(a => a.ID.Equals(user.ID)).ToList(); ViewBag.carpetas = db.CARPETAVs.Where(a => a.USUARIO_ID.Equals(user.ID)).ToList(); ViewBag.usuario = user; ViewBag.returnUrl = Request.Url.PathAndQuery;; ViewBag.rol = user.PUESTO.PUESTOTs.Where(a => a.SPRAS_ID.Equals(user.SPRAS_ID)).FirstOrDefault().TXT50; ViewBag.Title = db.PAGINAs.Where(a => a.ID.Equals(pagina)).FirstOrDefault().PAGINATs.Where(b => b.SPRAS_ID.Equals(user.SPRAS_ID)).FirstOrDefault().TXT50; ViewBag.warnings = db.WARNINGVs.Where(a => (a.PAGINA_ID.Equals(pagina) || a.PAGINA_ID.Equals(0)) && a.SPRAS_ID.Equals(user.SPRAS_ID)).ToList(); ViewBag.textos = db.TEXTOes.Where(a => (a.PAGINA_ID.Equals(pagina) || a.PAGINA_ID.Equals(0)) && a.SPRAS_ID.Equals(user.SPRAS_ID)).ToList(); try { string p = Session["pais"].ToString(); ViewBag.pais = p + ".png"; } catch { //return RedirectToAction("Pais", "Home"); } Session["spras"] = user.SPRAS_ID; if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } PAI pAI = db.PAIS.Find(id); if (pAI == null) { return(HttpNotFound()); } return(View(pAI)); }
public static ProjectDetailsDto MapToDetailsDto(ProjectDto dto) { return(new ProjectDetailsDto { Id = dto.Id, Active = dto.Active, Description = dto.Description, EndDate = dto.EndDate, IsAccepted = dto.IsAccepted, IsDone = dto.IsDone, IsFixedPrice = dto.IsFixedPrice, Price = dto.Price, ESTdriving = dto.ESTdriving, StartDate = dto.StartDate, Rowversion = dto.Rowversion, CustomerId = dto.CustomerId, Customer = dto.CustomerDto, ProjectDrivings = dto.ProjectDrivingDtos.GroupBy(PD => PD.UnitPrice) .Select(PD => new ProjectDrivingDto { Amount = PD.Sum(a => a.Amount), EmployeeId = PD.First().EmployeeId, Employee = PD.First().Employee, ProjectId = PD.First().ProjectId, UnitPrice = PD.First().UnitPrice }).ToList(), TotalUsedDriving = dto.ProjectDrivingDtos.Sum(UI => UI.Amount * UI.UnitPrice), ProjectEmployees = dto.ProjectEmployeeDtos.GroupBy(PE => PE.Employee.Id) .Select(PE => new ProjectEmployeeDto { EstWorkingHours = PE.Sum(a => a.EstWorkingHours), EmployeeID = PE.First().EmployeeID, Employee = PE.First().Employee, ProjectId = PE.First().ProjectId }).ToList(), TotalAssignedHours = dto.ProjectEmployeeDtos.Sum(PE => (PE.Employee.Type.HourlyPrice + PE.Employee.Specialty.Bonus) * PE.EstWorkingHours), //working hours summed up by employee WorkingHours = dto.WorkingHoursDtos .GroupBy(WH => WH.EmployeeId) .Select(WH => new WorkingHoursDto { Amount = WH.Sum(a => a.Amount), EmployeeId = WH.First().EmployeeId, Employee = WH.First().Employee, ProjectId = WH.First().ProjectId, HourlyPrice = WH.First().Employee.Type.HourlyPrice + WH.First().Employee.Specialty.Bonus }).ToList(), TotalUsedHours = dto.WorkingHoursDtos.Sum(WH => WH.Amount * WH.HourlyPrice), //assigned items summed up AssignedItems = dto.AssignedItemDtos.GroupBy(PAI => PAI.ItemID) .Select(PAI => new ProjectAssignedItemDto { Amount = PAI.Sum(c => c.Amount), Item = PAI.First().Item, Price = PAI.First().Price, ProjectId = PAI.First().ProjectId }).ToList(), TotalAssignedItems = dto.AssignedItemDtos.Sum(UI => UI.Amount * UI.Price), //used items summed up UsedItems = dto.UsedItemsDtos.GroupBy(PUI => PUI.ItemID) .Select(PUI => new ProjectUsedItemDto { Amount = PUI.Sum(c => c.Amount), Item = PUI.First().Item, Price = PUI.First().Price, ProjectId = PUI.First().ProjectId }).ToList(), TotalUsedItems = dto.UsedItemsDtos.Sum(UI => UI.Amount * UI.Price) }); }
public int creaRecurrente(string id_d, string tsol) { string dates = DateTime.Now.ToString("dd/MM/yyyy"); DateTime theTime = DateTime.ParseExact(dates, //"06/04/2018 12:00:00 a.m." "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None); var relacionada_neg = ""; var relacionada_dis = ""; DOCUMENTO dOCUMENTO = new DOCUMENTO(); DOCUMENTO dOCpADRE = new DOCUMENTO(); string errorString = ""; TAT001Entities db = new TAT001Entities(); string p = ""; List <TREVERSAT> ldocr = new List <TREVERSAT>(); decimal rel = 0; try { if (id_d == null || id_d.Equals("")) { throw new Exception(); } rel = Convert.ToDecimal(id_d); } catch { rel = 0; } //Obtener los documentos relacionados List <DOCUMENTO> docsrel = new List <DOCUMENTO>(); SOCIEDAD id_bukrs = new SOCIEDAD(); var id_pais = new PAI(); var id_waers = db.MONEDAs.Where(m => m.ACTIVO == true).ToList(); if (rel > 0) { dOCpADRE = db.DOCUMENTOes.Where(doc => doc.NUM_DOC == rel).FirstOrDefault(); if (dOCpADRE.TIPO_RECURRENTE == null)//RSG 28.05.2018---------------------------------------------- { return(0); } if (!((dOCpADRE.TIPO_RECURRENTE.Equals("M") | dOCpADRE.TIPO_RECURRENTE.Equals("P")) & dOCpADRE.ESTATUS.Equals("A") & dOCpADRE.ESTATUS_WF.Equals("A")))//RSG 28.05.2018 { return(0); } //List<DOCUMENTOREC> ddrec = new List<DOCUMENTOREC>(); DOCUMENTOREC drec = dOCpADRE.DOCUMENTORECs.Where(a => a.ESTATUS == "A").FirstOrDefault(); if (drec == null) { return(0); } else { DateTime hoy = (DateTime)drec.FECHAF; var primer = new DateTime(hoy.Year, hoy.Month, 1); var ultimo = primer.AddMonths(1).AddDays(-1); dOCUMENTO.FECHAI_VIG = primer; dOCUMENTO.FECHAF_VIG = ultimo; dOCUMENTO.MONTO_DOC_MD = (decimal)drec.MONTO_BASE; } if (tsol != dOCpADRE.TSOL_ID) { return(0); } //RSG 28.05.2018---------------------------------------------- docsrel = db.DOCUMENTOes.Where(docr => docr.DOCUMENTO_REF == rel).ToList(); id_bukrs = db.SOCIEDADs.Where(soc => soc.BUKRS == dOCpADRE.SOCIEDAD_ID && soc.ACTIVO == true).FirstOrDefault(); id_pais = db.PAIS.Where(pais => pais.LAND.Equals(dOCpADRE.PAIS_ID)).FirstOrDefault();//RSG 15.05.2018 dOCUMENTO.DOCUMENTO_REF = rel; relacionada_neg = dOCpADRE.TIPO_TECNICO; ////ViewBag.TSOL_ANT = dOCUMENTO.TSOL_ID; if (dOCUMENTO != null) { dOCUMENTO.TSOL_ID = tsol; dOCUMENTO.NUM_DOC = 0; foreach (DOCUMENTOP pos in dOCpADRE.DOCUMENTOPs) { } } } else { } dOCUMENTO.SOCIEDAD_ID = id_bukrs.BUKRS; dOCUMENTO.PAIS_ID = id_pais.LAND;//RSG 18.05.2018 dOCUMENTO.MONEDA_ID = id_bukrs.WAERS; dOCUMENTO.PERIODO = Convert.ToInt32(DateTime.Now.ToString("MM")); dOCUMENTO.EJERCICIO = Convert.ToString(DateTime.Now.Year); dOCUMENTO.FECHAD = theTime; //----------------------------RSG 18.05.2018 //dOCUMENTO.SOCIEDAD = db.SOCIEDADs.Find(dOCUMENTO.SOCIEDAD_ID); //----------------------------RSG 18.05.2018 ////HTTPPOST DOCUMENTO d = new DOCUMENTO(); if (dOCUMENTO.DOCUMENTO_REF > 0) { d = db.DOCUMENTOes.Where(doc => doc.NUM_DOC == dOCUMENTO.DOCUMENTO_REF).FirstOrDefault(); //dOCUMENTO.TSOL_ID = d.TSOL_ID; id_bukrs = db.SOCIEDADs.Where(soc => soc.BUKRS == d.SOCIEDAD_ID).FirstOrDefault(); dOCUMENTO.ESTADO = d.ESTADO; dOCUMENTO.CIUDAD = d.CIUDAD; dOCUMENTO.PAYER_ID = d.PAYER_ID; dOCUMENTO.CONCEPTO = d.CONCEPTO; dOCUMENTO.NOTAS = d.NOTAS; dOCUMENTO.FECHAI_VIG = d.FECHAI_VIG; dOCUMENTO.FECHAF_VIG = d.FECHAF_VIG; dOCUMENTO.PAYER_NOMBRE = d.PAYER_NOMBRE; dOCUMENTO.PAYER_EMAIL = d.PAYER_EMAIL; dOCUMENTO.TIPO_CAMBIO = d.TIPO_CAMBIO; dOCUMENTO.GALL_ID = d.GALL_ID; dOCUMENTO.TALL_ID = d.TALL_ID; //Obtener el país dOCUMENTO.PAIS_ID = d.PAIS_ID;//RSG 15.05.2018 dOCUMENTO.TSOL_ID = d.TSOL_ID; } //Tipo técnico dOCUMENTO.TIPO_TECNICO = "M"; USUARIO u = db.USUARIOs.Find(d.USUARIOC_ID);//RSG 02/05/2018 //Obtener el número de documento decimal N_DOC = getSolID(dOCUMENTO.TSOL_ID); dOCUMENTO.NUM_DOC = N_DOC; //Obtener SOCIEDAD_ID dOCUMENTO.SOCIEDAD_ID = id_bukrs.BUKRS; ////Obtener el país //dOCUMENTO.PAIS_ID = p.ToUpper(); //CANTIDAD_EV > 1 si son recurrentes dOCUMENTO.CANTIDAD_EV = 1; //Obtener usuarioc dOCUMENTO.PUESTO_ID = u.PUESTO_ID;//RSG 02/05/2018 dOCUMENTO.USUARIOC_ID = u.ID; //Fechac dOCUMENTO.FECHAC = DateTime.Now; //Horac dOCUMENTO.HORAC = DateTime.Now.TimeOfDay; //FECHAC_PLAN dOCUMENTO.FECHAC_PLAN = DateTime.Now.Date; //FECHAC_USER dOCUMENTO.FECHAC_USER = DateTime.Now.Date; //HORAC_USER dOCUMENTO.HORAC_USER = DateTime.Now.TimeOfDay; //Estatus dOCUMENTO.ESTATUS = "N"; //Estatus wf dOCUMENTO.ESTATUS_WF = "P"; ///////////////////Montos //MONTO_DOC_MD var MONTO_DOC_MD = dOCUMENTO.MONTO_DOC_MD; dOCUMENTO.MONTO_DOC_MD = Convert.ToDecimal(MONTO_DOC_MD); //Obtener el monto de la sociedad dOCUMENTO.MONTO_DOC_ML = getValSoc(id_bukrs.WAERS, dOCUMENTO.MONEDA_ID, Convert.ToDecimal(dOCUMENTO.MONTO_DOC_MD), out errorString); if (!errorString.Equals("")) { throw new Exception(); } //MONTO_DOC_ML2 var MONTO_DOC_ML2 = dOCUMENTO.MONTO_DOC_ML2; dOCUMENTO.MONTO_DOC_ML2 = Convert.ToDecimal(MONTO_DOC_ML2); //MONEDAL_ID moneda de la sociedad dOCUMENTO.MONEDAL_ID = id_bukrs.WAERS; //MONEDAL2_ID moneda en USD dOCUMENTO.MONEDAL2_ID = "USD"; //Tipo cambio de la moneda de la sociedad TIPO_CAMBIOL dOCUMENTO.TIPO_CAMBIOL = getUkurs(id_bukrs.WAERS, dOCUMENTO.MONEDA_ID, out errorString); //Tipo cambio dolares TIPO_CAMBIOL2 dOCUMENTO.TIPO_CAMBIOL2 = getUkursUSD(dOCUMENTO.MONEDA_ID, "USD", out errorString); if (!errorString.Equals("")) { throw new Exception(); } //Obtener datos del payer CLIENTE payer = getCliente(dOCUMENTO.PAYER_ID); dOCUMENTO.VKORG = payer.VKORG; dOCUMENTO.VTWEG = payer.VTWEG; dOCUMENTO.SPART = payer.SPART; dOCUMENTO.DOCUMENTO_REF = null; //Guardar el documento db.DOCUMENTOes.Add(dOCUMENTO); db.SaveChanges(); //Actualizar el rango updateRango(dOCUMENTO.TSOL_ID, dOCUMENTO.NUM_DOC); //RSG 28.05.2018---------------------------------------------- string recurrente = ""; List <DOCUMENTOREC> ddrec = new List <DOCUMENTOREC>(); DOCUMENTOREC drecc = d.DOCUMENTORECs.Where(a => a.ESTATUS == "A").FirstOrDefault(); if (drecc == null) { return(0); } else { DateTime hoy = drecc.FECHAF.Value; var primer = new DateTime(hoy.Year, hoy.Month, 1); var ultimo = primer.AddMonths(1).AddDays(-1); dOCUMENTO.FECHAI_VIG = primer; dOCUMENTO.FECHAF_VIG = ultimo; dOCUMENTO.MONTO_DOC_MD = drecc.MONTO_BASE; dOCUMENTO.FECHAD = DateTime.Now; recurrente = "X"; } drecc.DOC_REF = dOCUMENTO.NUM_DOC; //RSG 28.05.2018---------------------------------------------- //RSG 28.05.2018---------------------------------------------- drecc.DOC_REF = dOCUMENTO.NUM_DOC; drecc.ESTATUS = "P"; db.SaveChanges(); //RSG 28.05.2018---------------------------------------------- //Guardar los documentos p para el documento guardado try { //Agregar materiales existentes para evitar que en la vista se hayan agregado o quitado List <DOCUMENTOP> docpl = new List <DOCUMENTOP>(); docpl = db.DOCUMENTOPs.Where(docp => docp.NUM_DOC == dOCpADRE.NUM_DOC).ToList(); for (int j = 0; j < docpl.Count; j++) { try { //DOCUMENTOP_MOD docmod = new DOCUMENTOP_MOD(); var cat = ""; if (docpl[j].MATNR != null && docpl[j].MATNR != "") { //docmod = dOCUMENTO.DOCUMENTOP.Where(docp => docp.MATNR == docpl[j].MATNR).FirstOrDefault(); } else { //docmod = dOCUMENTO.DOCUMENTOP.Where(docp => docp.MATKL_ID == docpl[j].MATKL).FirstOrDefault(); cat = "C"; } //Si lo encuentra meter valores de la base de datos y vista if (docpl[j] != null) { if (cat != "C") { DOCUMENTOP docP = new DOCUMENTOP(); docP.NUM_DOC = dOCUMENTO.NUM_DOC; docP.POS = docpl[j].POS; if (docpl[j].MATNR == null || docpl[j].MATNR == "") { docpl[j].MATNR = ""; } docP.MATNR = docpl[j].MATNR; docP.MATKL = docpl[j].MATKL; docP.CANTIDAD = 1; docP.MONTO = docpl[j].MONTO; docP.PORC_APOYO = docpl[j].PORC_APOYO; //docP.MONTO_APOYO = docmod.MONTO_APOYO; docP.MONTO_APOYO = docP.MONTO * (docP.PORC_APOYO / 100); docP.MONTO_APOYO = Math.Round(docP.MONTO_APOYO, 2);//RSG 16.05.2018 docP.PRECIO_SUG = docpl[j].PRECIO_SUG; docP.VOLUMEN_EST = docpl[j].VOLUMEN_EST; docP.VOLUMEN_REAL = docpl[j].VOLUMEN_REAL; docP.VIGENCIA_DE = docpl[j].VIGENCIA_DE; docP.VIGENCIA_AL = docpl[j].VIGENCIA_AL; docP.APOYO_EST = docpl[j].APOYO_EST; docP.APOYO_REAL = docpl[j].APOYO_REAL; dOCUMENTO.DOCUMENTOPs.Add(docP); //RSG 28.05.2018 db.SaveChanges(); //RSG } else { foreach (DOCUMENTOM docmmm in docpl[j].DOCUMENTOMs) { DOCUMENTOP docP = new DOCUMENTOP(); docP.NUM_DOC = dOCUMENTO.NUM_DOC; docP.POS = (docpl[j].POS * 10) + docmmm.POS; docP.MATNR = docmmm.MATNR; docP.MATKL = null; //docP.MONTO = (decimal)docmmm.APOYO_EST; docP.VIGENCIA_DE = docpl[j].VIGENCIA_DE; docP.VIGENCIA_AL = docpl[j].VIGENCIA_AL; docP.CANTIDAD = 1; docP.APOYO_EST = (decimal)docmmm.APOYO_EST; docP.APOYO_REAL = (decimal)docmmm.APOYO_REAL; docP.VOLUMEN_EST = 0; docP.VOLUMEN_REAL = 0; dOCUMENTO.DOCUMENTOPs.Add(docP); //RSG 28.05.2018 db.SaveChanges(); //RSG } } } else { DOCUMENTOP docP = new DOCUMENTOP(); docP.NUM_DOC = dOCUMENTO.NUM_DOC; docP.POS = docpl[j].POS; docP.MATNR = docpl[j].MATNR; docP.MATKL = docpl[j].MATKL; docP.CANTIDAD = 1; docP.MONTO = docpl[j].MONTO; //docP.PORC_APOYO = docpl[j].PORC_APOYO; docP.MONTO_APOYO = docP.MONTO * (docpl[j].PORC_APOYO / 100); docP.MONTO_APOYO = docpl[j].MONTO_APOYO; docP.PRECIO_SUG = docpl[j].PRECIO_SUG; docP.VOLUMEN_EST = docpl[j].VOLUMEN_EST; docP.VOLUMEN_REAL = docpl[j].VOLUMEN_REAL; docP.VIGENCIA_DE = docpl[j].VIGENCIA_DE; docP.VIGENCIA_AL = docpl[j].VIGENCIA_AL; docP.APOYO_EST = docpl[j].APOYO_EST; docP.APOYO_REAL = docpl[j].APOYO_REAL; dOCUMENTO.DOCUMENTOPs.Add(docP); //RSG 28.05.2018 db.SaveChanges(); //RSG } //Agregarlo a la bd //db.DOCUMENTOPs.Add(docP); } catch (Exception e) { } } } catch (Exception e) { } decimal total = 0; //RSG 28.05.2018----------------------------------------------------- foreach (DOCUMENTOP dp in dOCUMENTO.DOCUMENTOPs) { dp.VIGENCIA_DE = dOCUMENTO.FECHAI_VIG; dp.VIGENCIA_AL = dOCUMENTO.FECHAF_VIG; if (dOCpADRE.TIPO_TECNICO == "P") { ////if (!dOCpADRE.TSOL.FACTURA) ////{ //// try //// { //// total += (decimal)dp.APOYO_EST; //// } //// catch { } ////} ////else ////{ //// try //// { //// total += (decimal)dp.APOYO_REAL; //// } //// catch { } ////} dp.MONTO = 0; dp.CANTIDAD = 0; dp.MONTO_APOYO = 0; dp.PORC_APOYO = 0; dp.PRECIO_SUG = 0; dp.VOLUMEN_EST = 0; dp.VOLUMEN_REAL = 0; try { decimal val = (decimal)(from P in db.PRESUPSAPPs where P.VKORG == dOCpADRE.VKORG & P.VTWEG == dOCpADRE.VTWEG & P.SPART == dOCpADRE.SPART & P.KUNNR == dOCpADRE.PAYER_ID & P.MATNR == dp.MATNR & P.PERIOD == DateTime.Now.Month select new { P.GRSLS }).Sum(a => a.GRSLS); total += val; dp.MONTO = val; } catch { } } db.Entry(dOCUMENTO).State = EntityState.Modified; db.SaveChanges(); } if (dOCpADRE.TIPO_TECNICO == "P") { foreach (DOCUMENTOP dp in dOCUMENTO.DOCUMENTOPs) { //total = 100% 200 = 100% //dp.MONTo = ? 50 = 25% decimal porcentaje = dp.MONTO / total * 100; decimal nuevo_total = (decimal)drecc.MONTO_BASE; if (!dOCpADRE.TSOL.FACTURA) { try { dp.APOYO_EST = nuevo_total * porcentaje / 100; } catch { } } else { try { dp.APOYO_REAL = nuevo_total * porcentaje / 100;; } catch { } ////} } dp.MONTO = 0; db.Entry(dOCUMENTO).State = EntityState.Modified; db.SaveChanges(); } } //RSG 28.05.2018----------------------------------------------------- ProcesaFlujo pf = new ProcesaFlujo(); //db.DOCUMENTOes.Add(dOCUMENTO); //db.SaveChanges(); USUARIO user = db.USUARIOs.Where(a => a.ID.Equals(d.USUARIOC_ID)).FirstOrDefault(); int rol = user.MIEMBROS.FirstOrDefault().ROL_ID; try { //WORKFV wf = db.WORKFHs.Where(a => a.BUKRS.Equals(dOCUMENTO.SOCIEDAD_ID) & a.ROL_ID == rol).FirstOrDefault().WORKFVs.OrderByDescending(a => a.VERSION).FirstOrDefault(); WORKFV wf = db.WORKFHs.Where(a => a.TSOL_ID.Equals(dOCUMENTO.TSOL_ID)).FirstOrDefault().WORKFVs.OrderByDescending(a => a.VERSION).FirstOrDefault(); if (wf != null) { WORKFP wp = wf.WORKFPs.OrderBy(a => a.POS).FirstOrDefault(); FLUJO f = new FLUJO(); f.WORKF_ID = wf.ID; f.WF_VERSION = wf.VERSION; f.WF_POS = wp.POS; f.NUM_DOC = dOCUMENTO.NUM_DOC; f.POS = 1; f.LOOP = 1; f.USUARIOA_ID = dOCUMENTO.USUARIOC_ID; f.ESTATUS = "I"; f.FECHAC = DateTime.Now; f.FECHAM = DateTime.Now; string c = pf.procesa(f, recurrente); //RSG 28.05.2018 ----------------------------------- //if (c == "1") //{ // Email em = new Email(); // em.enviaMail(f.NUM_DOC, true); //} FLUJO conta = db.FLUJOes.Where(a => a.NUM_DOC.Equals(f.NUM_DOC)).OrderByDescending(a => a.POS).FirstOrDefault(); conta.USUARIOA_ID = user.ID; conta.ESTATUS = "A"; conta.FECHAM = DateTime.Now; pf.procesa(conta, ""); //RSG 28.05.2018 ----------------------------------- } } catch (Exception ee) { if (errorString == "") { errorString = ee.Message.ToString(); return(0); } //ViewBag.error = errorString; } return(1); }
public ActionResult Index(string id) { using (TAT001Entities db = new TAT001Entities()) { int pagina = 101; //ID EN BASE DE DATOS string u = User.Identity.Name; ////if (pais != null) //// Session["pais"] = pais; //string u = "admin"; var user = db.USUARIOs.Where(a => a.ID.Equals(u)).FirstOrDefault(); ViewBag.permisos = db.PAGINAVs.Where(a => a.ID.Equals(user.ID)).ToList(); ViewBag.carpetas = db.CARPETAVs.Where(a => a.USUARIO_ID.Equals(user.ID)).ToList(); ViewBag.usuario = user; ViewBag.returnUrl = Request.Url.PathAndQuery;; ViewBag.rol = user.PUESTO.PUESTOTs.Where(a => a.SPRAS_ID.Equals(user.SPRAS_ID)).FirstOrDefault().TXT50; ViewBag.Title = db.PAGINAs.Where(a => a.ID.Equals(pagina)).FirstOrDefault().PAGINATs.Where(b => b.SPRAS_ID.Equals(user.SPRAS_ID)).FirstOrDefault().TXT50; ViewBag.warnings = db.WARNINGVs.Where(a => (a.PAGINA_ID.Equals(pagina) || a.PAGINA_ID.Equals(0)) && a.SPRAS_ID.Equals(user.SPRAS_ID)).ToList(); ViewBag.textos = db.TEXTOes.Where(a => (a.PAGINA_ID.Equals(pagina) || a.PAGINA_ID.Equals(0)) && a.SPRAS_ID.Equals(user.SPRAS_ID)).ToList(); try { string p = Session["pais"].ToString(); ViewBag.pais = p + ".png"; PAI pa = db.PAIS.Find(p); if (pa != null) { ViewBag.miles = pa.MILES; //LEJGG 090718 ViewBag.dec = pa.DECIMAL; //LEJGG 090718 } } catch { //ViewBag.pais = "mx.png"; ////return RedirectToAction("Pais", "Home"); } Session["spras"] = user.SPRAS_ID; try//Mensaje de documento creado { string p = Session["NUM_DOC"].ToString(); ViewBag.NUM_DOC = p; Session["NUM_DOC"] = null; } catch { ViewBag.NUM_DOC = ""; } try//Mensaje de documento creado { string error_files = Session["ERROR_FILES"].ToString(); ViewBag.ERROR_FILES = error_files; Session["ERROR_FILES"] = null; } catch { ViewBag.ERROR_FILES = ""; } string us = ""; DateTime fecha = DateTime.Now.Date; List <TAT001.Entities.DELEGAR> del = db.DELEGARs.Where(a => a.USUARIOD_ID.Equals(User.Identity.Name) & a.FECHAI <= fecha & a.FECHAF >= fecha & a.ACTIVO == true).ToList(); if (del.Count > 0) { List <USUARIO> users = new List <USUARIO>(); foreach (DELEGAR de in del) { users.Add(de.USUARIO); } users.Add(ViewBag.usuario); ViewBag.delegados = users.ToList(); if (id != null) { us = id; } else { us = User.Identity.Name; } ViewBag.usuariod = us; } else { us = User.Identity.Name; } List <CSP_DOCUMENTOSXUSER_Result> dOCUMENTOes = db.CSP_DOCUMENTOSXUSER(us, user.SPRAS_ID).ToList(); //dOCUMENTOes = dOCUMENTOes.Distinct(new DocumentoComparer()).ToList(); //dOCUMENTOes = dOCUMENTOes.OrderByDescending(a => a.FECHAC).OrderByDescending(a => a.NUM_DOC).ToList(); //ViewBag.Clientes = db.CLIENTEs.ToList(); //ViewBag.Cuentas = db.CUENTAs.ToList(); //ViewBag.DOCF = db.DOCUMENTOFs.ToList(); //jemo inicio 4/07/2018 ViewBag.imgnoticia = db.NOTICIAs.Where(x => x.FECHAI <= DateTime.Now && x.FECHAF >= DateTime.Now && x.ACTIVO == true).Select(x => x.PATH).FirstOrDefault(); List <Documento> listaDocs = new List <Documento>(); foreach (CSP_DOCUMENTOSXUSER_Result item in dOCUMENTOes) { Documento ld = new Documento(); ld.BUTTON = item.BUTTON; ld.NUM_DOC = item.NUM_DOC; ld.NUM_DOC_TEXT = item.NUM_DOC_TEXT; ld.SOCIEDAD_ID = item.SOCIEDAD_ID; ld.PAIS_ID = item.PAIS_ID; ld.FECHADD = item.FECHAD.Value.Day + "/" + item.FECHAD.Value.Month + "/" + item.FECHAD.Value.Year; ld.FECHAD = item.FECHAD.Value.Year + "/" + item.FECHAD.Value.Month + "/" + item.FECHAD.Value.Day; ld.HORAC = item.HORAC.Value.ToString().Split('.')[0]; ld.PERIODO = item.PERIODO + ""; if (item.ESTATUS == "R") { item.ESTATUSS = item.ESTATUSS.Substring(0, 6) + db.FLUJOes.Where(x => x.NUM_DOC == item.NUM_DOC & x.ESTATUS == "R").OrderByDescending(a => a.POS).FirstOrDefault().USUARIO.PUESTO_ID + item.ESTATUSS.Substring(6, 1); } else { item.ESTATUSS = item.ESTATUSS.Substring(0, 6) + " " + item.ESTATUSS.Substring(6, 1);; } Estatus e = new Estatus(); ld.ESTATUS = e.getText(item.ESTATUSS, ld.NUM_DOC); ld.ESTATUS_CLASS = e.getClass(item.ESTATUSS, ld.NUM_DOC); //ld.ESTATUS = e.getText(item.ESTATUSS); //ld.ESTATUS_CLASS = e.getClass(item.ESTATUSS); ld.PAYER_ID = item.PAYER_ID; ld.CLIENTE = item.NAME1; ld.CANAL = item.CANAL; ld.TSOL = item.TXT020; ld.TALL = item.TXT50; //foreach (CUENTA cuenta in db.CUENTAs.Where(x => x.SOCIEDAD_ID.Equals(item.SOCIEDAD_ID)).ToList()) //{ // if (item.TALL != null) // { // if (cuenta.TALL_ID == item.TALL.ID) // { // ld.CUENTAS = cuenta.CARGO.ToString(); // break; // } // } //} try { ld.CUENTAS = item.CARGO + ""; } catch { } ld.CONCEPTO = item.CONCEPTO; ld.MONTO_DOC_ML = item.MONTO_DOC_MD + ""; ld.FACTURA = item.FACTURA; ld.FACTURAK = item.FACTURAK; ld.USUARIOC_ID = item.USUARIOD_ID; if (item.DOCUMENTO_SAP != null) { if (item.PADRE) { ld.NUM_PRO = item.DOCUMENTO_SAP; ld.NUM_AP = ""; ld.NUM_NC = ""; ld.NUM_REV = ""; } else if (item.REVERSO) { ld.NUM_REV = item.DOCUMENTO_SAP; ld.NUM_AP = ""; ld.NUM_NC = ""; ld.NUM_PRO = ""; } else { ld.NUM_NC = item.DOCUMENTO_SAP; ld.NUM_AP = ""; ld.NUM_PRO = ""; ld.NUM_REV = ""; } //<!--NUM_SAP--> ld.BLART = item.BLART; ld.NUM_PAYER = item.KUNNR; ld.NUM_CLIENTE = item.DESCR; ld.NUM_IMPORTE = item.IMPORTE + ""; ld.NUM_CUENTA = item.CUENTA_C; } else { //<td></td> //<td></td> //<td></td> //<td></td> //<td></td> //<td></td> //<td></td> //<td></td> //<td></td> } listaDocs.Add(ld); } return(View(listaDocs)); } }
public JsonResult LoadExcel() { List <DET_AGENTEC> ld = new List <DET_AGENTEC>(); if (Request.Files.Count > 0) { HttpPostedFileBase file = Request.Files["FileUpload"]; ////string extension = System.IO.Path.GetExtension(file.FileName); IExcelDataReader reader = ExcelReaderFactory.CreateReader(file.InputStream); // 2. Use the AsDataSet extension method DataSet result = reader.AsDataSet(); // The result of each spreadsheet is in result.Tables // 3.DataSet - Create column names from first row DataTable dt = result.Tables[0]; ld = objAList(dt); reader.Close(); } List <Flujos> ff = new List <Flujos>(); List <USUARIO> usuarios = new List <USUARIO>(); List <CLIENTE> clientes = new List <CLIENTE>(); List <PAI> paises = new List <PAI>(); foreach (DET_AGENTEC da in ld) { Flujos f = new Flujos(); ////---------------------------------------USUARIO f.USUARIOC_ID = da.USUARIOC_ID; f.USUARIOC_IDX = true; USUARIO u = usuarios.FirstOrDefault(x => x.ID.Equals(f.USUARIOC_ID)); if (u == null) { u = db.USUARIOs.Where(x => x.ID.Equals(f.USUARIOC_ID) && x.ACTIVO == true).FirstOrDefault(); if (u == null) { f.USUARIOC_IDX = false; } else { usuarios.Add(u); } } if (!f.USUARIOC_IDX) { f.USUARIOC_ID = "<span class='red white-text'>" + f.USUARIOC_ID + "</span>"; } ////---------------------------------------PAIS f.PAIS_ID = da.PAIS_ID; f.PAIS_IDX = true; PAI p = paises.FirstOrDefault(x => x.LAND.Equals(f.PAIS_ID)); if (p == null) { p = db.PAIS.Where(x => x.LAND.Equals(f.PAIS_ID) && x.ACTIVO && x.SOCIEDAD_ID != null).FirstOrDefault(); if (p == null) { f.PAIS_IDX = false; } else { paises.Add(p); } } if (!f.PAIS_IDX) { f.PAIS_ID = "<span class='red white-text'>" + f.PAIS_ID + "</span>"; } ////---------------------------------------CLIENTE f.KUNNR = da.KUNNR; f.KUNNRX = true; CLIENTE c = clientes.FirstOrDefault(x => x.KUNNR.Equals(f.KUNNR)); if (c == null) { c = db.CLIENTEs.Where(cc => cc.KUNNR.Equals(f.KUNNR) && cc.ACTIVO).FirstOrDefault(); if (c == null) { f.KUNNRX = false; } else { clientes.Add(c); } } if (!f.KUNNRX) { f.KUNNR = "<span class='red white-text'>" + f.KUNNR + "</span>"; } f.VERSION = da.VERSION.ToString(); f.POS = da.POS.ToString(); ////---------------------------------------USUARIOA f.USUARIOA_ID = da.USUARIOA_ID; f.USUARIOA_IDX = true; USUARIO ua = usuarios.FirstOrDefault(x => x.ID.Equals(f.USUARIOA_ID)); if (ua == null) { ua = db.USUARIOs.Where(x => x.ID.Equals(f.USUARIOA_ID) && x.ACTIVO == true).FirstOrDefault(); if (ua == null) { f.USUARIOA_IDX = false; } else { usuarios.Add(ua); } } if (!f.USUARIOA_IDX) { f.USUARIOA_ID = "<span class='red white-text'>" + f.USUARIOA_ID + "</span>"; } if (da.MONTO == null) { f.MONTO = null; } else { f.MONTO = da.MONTO.ToString(); } f.PRESUPUESTO = da.PRESUPUESTO.ToString(); ff.Add(f); } JsonResult jl = Json(ff, JsonRequestBehavior.AllowGet); return(jl); }
public decimal creaReversa(string id_d, string tsol) { string dates = DateTime.Now.ToString("dd/MM/yyyy"); DateTime theTime = DateTime.ParseExact(dates, //"06/04/2018 12:00:00 a.m." "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None); var relacionada_neg = ""; var relacionada_dis = ""; DOCUMENTO dOCUMENTO = new DOCUMENTO(); DOCUMENTO dOCpADRE = new DOCUMENTO(); string errorString = ""; TAT001Entities db = new TAT001Entities(); string p = ""; List <TREVERSAT> ldocr = new List <TREVERSAT>(); decimal rel = 0; try { if (id_d == null || id_d.Equals("")) { throw new Exception(); } rel = Convert.ToDecimal(id_d); } catch { rel = 0; } //--- //Obtener los valores de tsols List <TSOL> tsols_val = new List <TSOL>(); //List<TSOLT_MODBD> tsols_valbd = new List<TSOLT_MODBD>();//RSG 13.06.2018 try { tsols_val = db.TSOLs.ToList(); //tsols_valbd = tsols_val.Select(tsv => new TSOLT_MODBD //{ // ID = tsv.ID, // FACTURA = tsv.FACTURA //}).ToList(); } catch (Exception e) { } //Validar si es una reversa string isrn = ""; string isr = ""; var freversa = (dynamic)null; try { if (tsol == null || tsol.Equals("")) { throw new Exception(); } TSOL ts = tsols_val.Where(tsb => tsb.TSOLR == tsol).FirstOrDefault(); if (ts != null) { isrn = "X"; isr = "preversa"; freversa = theTime.ToString("yyyy-MM-dd");; //Obtener los tipos de reversas try { ldocr = db.TREVERSATs.Where(a => a.TREVERSA.ACTIVO == true && a.SPRAS_ID == dOCpADRE.USUARIO.SPRAS_ID).ToList(); } catch (Exception e) { } } } catch (Exception e) { isrn = ""; isr = ""; freversa = ""; } //--- //Obtener los documentos relacionados List <DOCUMENTO> docsrel = new List <DOCUMENTO>(); SOCIEDAD id_bukrs = new SOCIEDAD(); var id_pais = new PAI(); var id_waers = db.MONEDAs.Where(m => m.ACTIVO == true).ToList(); if (rel > 0) { dOCpADRE = db.DOCUMENTOes.Where(doc => doc.NUM_DOC == rel).FirstOrDefault(); ////if (dOCpADRE.TIPO_RECURRENTE == null)//RSG 28.05.2018---------------------------------------------- //// return 0; ////if (!((dOCpADRE.TIPO_RECURRENTE.Equals("M") | dOCpADRE.TIPO_RECURRENTE.Equals("P")) & dOCpADRE.ESTATUS.Equals("A") & dOCpADRE.ESTATUS_WF.Equals("A")))//RSG 28.05.2018 ////{ //// return 0; ////} //////List<DOCUMENTOREC> ddrec = new List<DOCUMENTOREC>(); ////DOCUMENTOREC drec = dOCpADRE.DOCUMENTORECs.Where(a => a.ESTATUS == "A").FirstOrDefault(); ////if (drec == null) //// return 0; ////else ////{ //// DateTime hoy = (DateTime)drec.FECHAF; //// var primer = new DateTime(hoy.Year, hoy.Month, 1); //// var ultimo = primer.AddMonths(1).AddDays(-1); //// dOCUMENTO.FECHAI_VIG = primer; //// dOCUMENTO.FECHAF_VIG = ultimo; //// dOCUMENTO.MONTO_DOC_MD = (decimal)drec.MONTO_BASE; ////} ////if (tsol != dOCpADRE.TSOL_ID) //// return 0; //////RSG 28.05.2018---------------------------------------------- docsrel = db.DOCUMENTOes.Where(docr => docr.DOCUMENTO_REF == rel).ToList(); id_bukrs = db.SOCIEDADs.Where(soc => soc.BUKRS == dOCpADRE.SOCIEDAD_ID && soc.ACTIVO == true).FirstOrDefault(); id_pais = db.PAIS.Where(pais => pais.LAND.Equals(dOCpADRE.PAIS_ID)).FirstOrDefault();//RSG 15.05.2018 dOCUMENTO.DOCUMENTO_REF = rel; relacionada_neg = dOCpADRE.TIPO_TECNICO; ////ViewBag.TSOL_ANT = dOCUMENTO.TSOL_ID; if (dOCUMENTO != null) { dOCUMENTO.TSOL_ID = tsol; dOCUMENTO.NUM_DOC = 0; ////foreach (DOCUMENTOP pos in dOCpADRE.DOCUMENTOPs) ////{ ////} List <DOCUMENTOP> docpl = db.DOCUMENTOPs.Where(docp => docp.NUM_DOC == dOCpADRE.NUM_DOC).ToList();//Documentos que se obtienen de la provisión List <DOCUMENTOP> docsrelp = new List <DOCUMENTOP>(); if (docsrel.Count > 0) { docsrelp = docsrel .Join( db.DOCUMENTOPs, docsl => docsl.NUM_DOC, docspl => docspl.NUM_DOC, (docsl, docspl) => new DOCUMENTOP { NUM_DOC = docspl.NUM_DOC, POS = docspl.POS, MATNR = docspl.MATNR, MATKL = docspl.MATKL, CANTIDAD = docspl.CANTIDAD, MONTO = docspl.MONTO, PORC_APOYO = docspl.PORC_APOYO, MONTO_APOYO = docspl.MONTO_APOYO, PRECIO_SUG = docspl.PRECIO_SUG, VOLUMEN_EST = docspl.VOLUMEN_EST, VOLUMEN_REAL = docspl.VOLUMEN_REAL, APOYO_REAL = docspl.APOYO_REAL, APOYO_EST = docspl.APOYO_EST, VIGENCIA_DE = docspl.VIGENCIA_DE, VIGENCIA_AL = docspl.VIGENCIA_AL }).ToList(); } List <TAT001.Models.DOCUMENTOP_MOD> docsp = new List <DOCUMENTOP_MOD>(); var dis = ""; for (int j = 0; j < docpl.Count; j++) { try { //Documentos de la provisión DOCUMENTOP_MOD docP = new DOCUMENTOP_MOD(); docP.NUM_DOC = dOCpADRE.NUM_DOC; docP.POS = docpl[j].POS; docP.MATNR = docpl[j].MATNR; if (j == 0 && docP.MATNR == "") { relacionada_dis = "C"; } docP.MATKL = docpl[j].MATKL; docP.MATKL_ID = docpl[j].MATKL; docP.CANTIDAD = 1; docP.MONTO = docpl[j].MONTO; docP.PORC_APOYO = docpl[j].PORC_APOYO; docP.MONTO_APOYO = docpl[j].MONTO_APOYO; docP.PRECIO_SUG = docpl[j].PRECIO_SUG; docP.VOLUMEN_EST = docpl[j].VOLUMEN_EST; docP.VIGENCIA_DE = docpl[j].VIGENCIA_DE; docP.VIGENCIA_AL = docpl[j].VIGENCIA_AL; docP.APOYO_EST = docpl[j].APOYO_EST; docP.APOYO_REAL = docpl[j].APOYO_REAL; //Verificar si hay materiales en las relacionadas if (docsrelp.Count > 0) { List <DOCUMENTOP> docrel = new List <DOCUMENTOP>(); if (docP.MATNR != null && docP.MATNR != "") { docrel = docsrelp.Where(docrell => docrell.MATNR == docP.MATNR).ToList(); } else { docrel = docsrelp.Where(docrell => docrell.MATKL == docP.MATKL_ID).ToList(); dis = "C"; } for (int k = 0; k < docrel.Count; k++) { //Relacionada se obtiene el decimal docr_vr = Convert.ToDecimal(docrel[k].VOLUMEN_REAL); decimal docr_ar = Convert.ToDecimal(docrel[k].APOYO_REAL); docP.VOLUMEN_EST -= docr_vr; docP.APOYO_EST -= docr_ar; if (dis == "C") { //decimal docr_vr = Convert.ToDecimal(docrel[k].); //decimal docr_ar = Convert.ToDecimal(docrel[k].APOYO_REAL); } } } //Siempre tiene que ser igual a 0 if (docP.VOLUMEN_EST < 0) { docP.VOLUMEN_EST = 0; } if (docP.APOYO_EST < 0) { docP.APOYO_EST = 0; } docP.MATNR = docpl[j].MATNR.TrimStart('0');//RSG 07.06.2018 docsp.Add(docP); } catch (Exception e) { } } dOCUMENTO.DOCUMENTOP = docsp; } } else { } dOCUMENTO.SOCIEDAD_ID = id_bukrs.BUKRS; dOCUMENTO.PAIS_ID = id_pais.LAND;//RSG 18.05.2018 dOCUMENTO.MONEDA_ID = id_bukrs.WAERS; dOCUMENTO.PERIODO = Convert.ToInt32(DateTime.Now.ToString("MM")); dOCUMENTO.EJERCICIO = Convert.ToString(DateTime.Now.Year); dOCUMENTO.FECHAD = theTime; //----------------------------RSG 18.05.2018 //dOCUMENTO.SOCIEDAD = db.SOCIEDADs.Find(dOCUMENTO.SOCIEDAD_ID); //----------------------------RSG 18.05.2018 dOCUMENTO.MONTO_DOC_MD = decimal.Parse("0.00"); foreach (DOCUMENTOP_MOD dpm in dOCUMENTO.DOCUMENTOP) { DOCUMENTOP ddp = new DOCUMENTOP(); ddp.MATKL = dpm.MATKL_ID; ddp.MATNR = new Cadena().completaMaterial(dpm.MATNR); ddp.MONTO = dpm.MONTO; ddp.MONTO_APOYO = dpm.MONTO_APOYO; ddp.PORC_APOYO = dpm.PORC_APOYO; ddp.POS = dpm.POS; ddp.PRECIO_SUG = dpm.PRECIO_SUG; ddp.VIGENCIA_AL = dpm.VIGENCIA_AL; ddp.VIGENCIA_DE = dpm.VIGENCIA_DE; ddp.VOLUMEN_EST = dpm.VOLUMEN_EST; ddp.VOLUMEN_REAL = dpm.VOLUMEN_REAL; ddp.APOYO_EST = dpm.APOYO_EST; ddp.APOYO_REAL = dpm.APOYO_REAL; ddp.CANTIDAD = dpm.CANTIDAD; DOCUMENTOP dpp = dOCpADRE.DOCUMENTOPs.Where(x => x.POS == ddp.POS).FirstOrDefault(); foreach (DOCUMENTOM dm in dpp.DOCUMENTOMs) { DOCUMENTOM dmm = new DOCUMENTOM(); dmm.APOYO_EST = dm.APOYO_EST; dmm.APOYO_REAL = dm.APOYO_REAL; dmm.MATNR = dm.MATNR; //dmm.NUM_DOC = dm.NUM_DOC; dmm.PORC_APOYO = dm.PORC_APOYO; dmm.POS = dm.POS; dmm.POS_ID = dm.POS_ID; dmm.VALORH = dm.VALORH; dmm.VIGENCIA_A = dm.VIGENCIA_A; dmm.VIGENCIA_DE = dm.VIGENCIA_DE; ddp.DOCUMENTOMs.Add(dmm); } dOCUMENTO.DOCUMENTOPs.Add(ddp); dOCUMENTO.MONTO_DOC_MD += ddp.APOYO_EST; } foreach (DOCUMENTOP dpp in dOCpADRE.DOCUMENTOPs) { } ////HTTPPOST DOCUMENTO d = new DOCUMENTO(); if (dOCUMENTO.DOCUMENTO_REF > 0) { d = db.DOCUMENTOes.Where(doc => doc.NUM_DOC == dOCUMENTO.DOCUMENTO_REF).FirstOrDefault(); //dOCUMENTO.TSOL_ID = d.TSOL_ID; id_bukrs = db.SOCIEDADs.Where(soc => soc.BUKRS == d.SOCIEDAD_ID).FirstOrDefault(); dOCUMENTO.ESTADO = d.ESTADO; dOCUMENTO.CIUDAD = d.CIUDAD; dOCUMENTO.PAYER_ID = d.PAYER_ID; dOCUMENTO.CONCEPTO = d.CONCEPTO; dOCUMENTO.NOTAS = d.NOTAS; dOCUMENTO.FECHAI_VIG = d.FECHAI_VIG; dOCUMENTO.FECHAF_VIG = d.FECHAF_VIG; dOCUMENTO.PAYER_NOMBRE = d.PAYER_NOMBRE; dOCUMENTO.PAYER_EMAIL = d.PAYER_EMAIL; dOCUMENTO.TIPO_CAMBIO = d.TIPO_CAMBIO; dOCUMENTO.GALL_ID = d.GALL_ID; dOCUMENTO.TALL_ID = d.TALL_ID; //Obtener el país dOCUMENTO.PAIS_ID = d.PAIS_ID;//RSG 15.05.2018 //dOCUMENTO.TSOL_ID = d.TSOL_ID; } //Tipo técnico dOCUMENTO.TIPO_TECNICO = ""; USUARIO u = db.USUARIOs.Find(d.USUARIOC_ID); //RSG 02/05/2018 Rangos rangos = new Rangos(); //RSG 01.08.2018 //Obtener el número de documento decimal N_DOC = rangos.getSolID(dOCUMENTO.TSOL_ID); dOCUMENTO.NUM_DOC = N_DOC; //Obtener SOCIEDAD_ID dOCUMENTO.SOCIEDAD_ID = id_bukrs.BUKRS; ////Obtener el país //dOCUMENTO.PAIS_ID = p.ToUpper(); //CANTIDAD_EV > 1 si son recurrentes dOCUMENTO.CANTIDAD_EV = 1; //Obtener usuarioc dOCUMENTO.PUESTO_ID = u.PUESTO_ID;//RSG 02/05/2018 dOCUMENTO.USUARIOC_ID = u.ID; dOCUMENTO.USUARIOD_ID = u.ID; //Fechac dOCUMENTO.FECHAC = DateTime.Now; //Horac dOCUMENTO.HORAC = DateTime.Now.TimeOfDay; //FECHAC_PLAN dOCUMENTO.FECHAC_PLAN = DateTime.Now.Date; //FECHAC_USER dOCUMENTO.FECHAC_USER = DateTime.Now.Date; //HORAC_USER dOCUMENTO.HORAC_USER = DateTime.Now.TimeOfDay; //Estatus dOCUMENTO.ESTATUS = "N"; //Estatus wf dOCUMENTO.ESTATUS_WF = "P"; ///////////////////Montos //MONTO_DOC_MD var MONTO_DOC_MD = dOCUMENTO.MONTO_DOC_MD; dOCUMENTO.MONTO_DOC_MD = Convert.ToDecimal(MONTO_DOC_MD); TCambio tcambio = new TCambio();//RSG 01.08.2018 //Obtener el monto de la sociedad dOCUMENTO.MONTO_DOC_ML = tcambio.getValSoc(id_bukrs.WAERS, dOCUMENTO.MONEDA_ID, Convert.ToDecimal(dOCUMENTO.MONTO_DOC_MD), out errorString); if (!errorString.Equals("")) { throw new Exception(); } //MONTO_DOC_ML2 var MONTO_DOC_ML2 = dOCUMENTO.MONTO_DOC_ML2; dOCUMENTO.MONTO_DOC_ML2 = Convert.ToDecimal(MONTO_DOC_ML2); //MONEDAL_ID moneda de la sociedad dOCUMENTO.MONEDAL_ID = id_bukrs.WAERS; //MONEDAL2_ID moneda en USD dOCUMENTO.MONEDAL2_ID = "USD"; //Tipo cambio de la moneda de la sociedad TIPO_CAMBIOL dOCUMENTO.TIPO_CAMBIOL = tcambio.getUkurs(id_bukrs.WAERS, dOCUMENTO.MONEDA_ID, out errorString); //Tipo cambio dolares TIPO_CAMBIOL2 dOCUMENTO.TIPO_CAMBIOL2 = tcambio.getUkursUSD(dOCUMENTO.MONEDA_ID, "USD", out errorString); if (!errorString.Equals("")) { throw new Exception(); } //Obtener datos del payer CLIENTE payer = getCliente(dOCUMENTO.PAYER_ID); dOCUMENTO.VKORG = payer.VKORG; dOCUMENTO.VTWEG = payer.VTWEG; dOCUMENTO.SPART = payer.SPART; //dOCUMENTO.DOCUMENTO_REF = null; dOCUMENTO.TSOL_ID = tsol; //Guardar el documento db.DOCUMENTOes.Add(dOCUMENTO); db.SaveChanges(); //Actualizar el rango rangos.updateRango(dOCUMENTO.TSOL_ID, dOCUMENTO.NUM_DOC); DOCUMENTO referencia = db.DOCUMENTOes.Find(dOCUMENTO.DOCUMENTO_REF); referencia.ESTATUS = "R"; db.Entry(referencia).State = EntityState.Modified; db.SaveChanges(); //Guardar los documentos p para el documento guardado ProcesaFlujo2 pf = new ProcesaFlujo2(); //db.DOCUMENTOes.Add(dOCUMENTO); //db.SaveChanges(); USUARIO user = db.USUARIOs.Where(a => a.ID.Equals(d.USUARIOC_ID)).FirstOrDefault(); int rol = user.MIEMBROS.FirstOrDefault().ROL_ID; try { //WORKFV wf = db.WORKFHs.Where(a => a.BUKRS.Equals(dOCUMENTO.SOCIEDAD_ID) & a.ROL_ID == rol).FirstOrDefault().WORKFVs.OrderByDescending(a => a.VERSION).FirstOrDefault(); WORKFV wf = db.WORKFHs.Where(a => a.TSOL_ID.Equals(dOCUMENTO.TSOL_ID)).FirstOrDefault().WORKFVs.OrderByDescending(a => a.VERSION).FirstOrDefault(); if (wf != null) { WORKFP wp = wf.WORKFPs.OrderBy(a => a.POS).FirstOrDefault(); FLUJO f = new FLUJO(); f.WORKF_ID = wf.ID; f.WF_VERSION = wf.VERSION; f.WF_POS = wp.POS; f.NUM_DOC = dOCUMENTO.NUM_DOC; f.POS = 1; f.LOOP = 1; f.USUARIOA_ID = dOCUMENTO.USUARIOC_ID; f.ESTATUS = "I"; f.FECHAC = DateTime.Now; f.FECHAM = DateTime.Now; string c = pf.procesa(f, ""); //RSG 28.05.2018 ----------------------------------- //if (c == "1") //{ // Email em = new Email(); // em.enviaMail(f.NUM_DOC, true); //} ////FLUJO conta = db.FLUJOes.Where(a => a.NUM_DOC.Equals(f.NUM_DOC)).OrderByDescending(a => a.POS).FirstOrDefault(); ////conta.USUARIOA_ID = user.ID; ////conta.ESTATUS = "A"; ////conta.FECHAM = DateTime.Now; ////pf.procesa(conta, ""); //RSG 28.05.2018 ----------------------------------- } } catch (Exception ee) { if (errorString == "") { errorString = ee.Message.ToString(); return(0); } //ViewBag.error = errorString; } return(dOCUMENTO.NUM_DOC); }