public ActionResult VinculaGarantia(int id) { decimal Tqtd_avariada = db.GarantiaItem.Where(a => a.garantiaid == id).Sum(p => p.qtd_avariada * p.vlr_lancamento); decimal Tqtd_faltante = db.GarantiaItem.Where(a => a.garantiaid == id).Sum(p => p.qtd_faltante * p.vlr_lancamento); decimal Tqtd_outras_marcas = db.GarantiaItem.Where(a => a.garantiaid == id).Sum(p => p.qtd_outras_marcas * p.vlr_lancamento); decimal Tqtd_atendida = db.GarantiaItem.Where(a => a.garantiaid == id).Sum(p => p.qtd_atendida * p.vlr_lancamento); decimal Tqtd_descartada = db.GarantiaItem.Where(a => a.garantiaid == id).Sum(p => p.qtd_descartada * p.vlr_lancamento); decimal Tqtd_fora_garantia = db.GarantiaItem.Where(a => a.garantiaid == id).Sum(p => p.qtd_fora_garantia * p.vlr_lancamento); decimal Tqtd_lancamento = db.GarantiaItem.Where(a => a.garantiaid == id).Sum(p => p.qtd_lancamento * p.vlr_lancamento); decimal Ttd_reaproveitada = db.GarantiaItem.Where(a => a.garantiaid == id).Sum(p => p.qtd_reaproveitada * p.vlr_lancamento); decimal Ttd_recebida = db.GarantiaItem.Where(a => a.garantiaid == id).Sum(p => p.qtd_recebida * p.vlr_lancamento); decimal Tqtd_rejeitada = db.GarantiaItem.Where(a => a.garantiaid == id).Sum(p => p.qtd_rejeitada * p.vlr_lancamento); decimal Timpostos = db.GarantiaItem.Where(a => a.garantiaid == id).Sum(p => p.vlr_icms_subs + p.vlr_icms_subs); decimal VlrCreditoCliente = Tqtd_atendida + Timpostos; decimal VlrDebitoCliente = Tqtd_fora_garantia + Tqtd_outras_marcas + Tqtd_faltante + Tqtd_avariada; decimal VlrDebitoFoxlux = Tqtd_descartada; decimal VlrDebitoRepresentante = 0; decimal VlrDebitoTransportador = 0; var data = new Garantia_Procedimento_Model { ProcedimentoAdm = new ProcedimentoAdm(), Garantia = db.Garantia.Find(id), vlr_credito_cliente = VlrCreditoCliente, vlr_debito_cliente = VlrDebitoCliente, vlr_debito_foxlux = VlrDebitoFoxlux, vlr_debito_representante = VlrDebitoRepresentante, vlr_debito_transportador = VlrDebitoTransportador, Obs = "" }; ViewBag.cd_cadastro = new SelectList(db.Clientes.Where(a => a.CD_CADASTRO == data.Garantia.cod_cliente).ToList(), "CD_CADASTRO", "RAZAO", data.Garantia.cod_cliente); ViewBag.cd_tipo = new SelectList(db.TP_PROCEDIMENTO.Where(a => a.ATIVO == "S").ToList(), "CD_TIPO", "DES_TIPO", string.Empty); ViewBag.cd_departamento = new SelectList(db.DEPARTAMENTOes.Where(a => a.ATIVO == "S").ToList(), "CD_DEPARTAMENTO", "DESC_DEPARTAMENTO", string.Empty); ViewBag.cod_transportador = new SelectList(db.TRANSPORTADOR.ToList(), "COD_TRANSPORTADOR", "FullNameWithCode", data.Garantia.cod_transportador); ViewBag.motivoid = new SelectList(db.Tp_Procedimento_Motivos.Where(a => a.COD_TIPO == 0).ToList(), "cod_tipo", "des_nome"); return(View(data)); }
public ActionResult VinculaGarantia(Garantia_Procedimento_Model data, IEnumerable <HttpPostedFileBase> files) { #region initializer ModelState.Clear(); data.Garantia = db.Garantia.Find(data.Garantia.garantiaid); ViewBag.cd_cadastro = new SelectList(db.Clientes.Where(a => a.CD_CADASTRO == data.Garantia.cod_cliente).ToList(), "CD_CADASTRO", "RAZAO", data.Garantia.cod_cliente); ViewBag.cd_tipo = new SelectList(db.TP_PROCEDIMENTO.Where(a => a.ATIVO == "S").ToList(), "CD_TIPO", "DES_TIPO", data.ProcedimentoAdm.CD_TIPO); ViewBag.cd_departamento = new SelectList(db.DEPARTAMENTOes.Where(a => a.ATIVO == "S").ToList(), "CD_DEPARTAMENTO", "DESC_DEPARTAMENTO", data.ProcedimentoAdm.CD_DEPARTAMENTO); ViewBag.cod_transportador = new SelectList(db.TRANSPORTADOR.ToList(), "COD_TRANSPORTADOR", "FullNameWithCode", data.Garantia.cod_transportador); ViewBag.motivoid = new SelectList(db.Tp_Procedimento_Motivos.Where(a => a.COD_TIPO == 0).ToList(), "cod_tipo", "des_nome"); data.ProcedimentoAdm.VL_CLIENTE = data.vlr_credito_cliente; data.ProcedimentoAdm.VL_DCLIENTE = data.vlr_debito_cliente; data.ProcedimentoAdm.VL_TRANSPORTADORA = data.vlr_debito_transportador; data.ProcedimentoAdm.VL_REPRESENTANTE = data.vlr_debito_representante; data.ProcedimentoAdm.VL_FOXLUX = data.vlr_debito_foxlux; #endregion #region logic_to_add_procedimetno int cd_tipo_procedimento = data.ProcedimentoAdm.CD_TIPO; int?nf_fox = data.ProcedimentoAdm.NF_FOX.GetValueOrDefault(0); int?nf_cliente = data.ProcedimentoAdm.NF_CLIENTE.GetValueOrDefault(0); string NFFOXOBRIGATORIA = (from a in db.TP_PROCEDIMENTO.Where(a => a.CD_TIPO == cd_tipo_procedimento) select a.SOL_NF_OBRIGATORIA).FirstOrDefault().ToString(); string NFCLIOBRIGATORIA = (from a in db.TP_PROCEDIMENTO.Where(a => a.CD_TIPO == cd_tipo_procedimento) select a.SOL_NF_CLIENTE_OBRIGATORIA).FirstOrDefault().ToString(); if (NFFOXOBRIGATORIA == "S" && nf_fox == 0) { ModelState.AddModelError("ProcedimentoAdm_NF_FOX", "*"); return(View(data)); } if (NFCLIOBRIGATORIA == "S" && nf_cliente == 0) { ModelState.AddModelError("ProcedimentoAdm_NF_CLIENTE", "*"); return(View(data)); } #endregion if (ModelState.IsValid) { data.ProcedimentoAdm.NF_FOX = nf_fox; string dta_nf = ""; string cod_oper = ""; if (data.ProcedimentoAdm.NF_FOX != 0) { dta_nf = (from a in db.eNota.Where(a => a.NR_NOTA == data.ProcedimentoAdm.NF_FOX) select a.DT_EMISSAO).FirstOrDefault().ToString(); cod_oper = (from a in db.eNota.Where(a => a.NR_NOTA == data.ProcedimentoAdm.NF_FOX) select a.COD_OPER).FirstOrDefault().ToString(); data.cd_transportador = (from a in db.eNota.Where(a => a.NR_NOTA == data.ProcedimentoAdm.NF_FOX) select a.CD_TRANSPORTADOR).FirstOrDefault(); } else { dta_nf = ""; cod_oper = ""; } Int32?intCD_PROCEDIMENTO = db.ProcedimentoAdm.Max(s => (Int32?)s.CD_PROCEDIMENTO); if (intCD_PROCEDIMENTO != null) { intCD_PROCEDIMENTO++; } else { intCD_PROCEDIMENTO = 1; } data.ProcedimentoAdm.CD_PROCEDIMENTO = (Int32)intCD_PROCEDIMENTO; data.ProcedimentoAdm.DTA_ABERTURA = DateTime.Now; data.ProcedimentoAdm.ID_SITUACAO = 1; data.ProcedimentoAdm.DTA_NF_FOX = dta_nf; data.ProcedimentoAdm.COD_OPER = cod_oper; data.ProcedimentoAdm.CD_TRANSPORTADOR = data.cd_transportador; if (files != null) { foreach (var a in files) { if (a != null) { if (a.ContentLength > 0) { Int32?intCD_PROCEDIMENTOARQ = db.ProcedimentoAdmArq.Max(s => (Int32?)s.ID_ARQ); if (intCD_PROCEDIMENTOARQ != null) { intCD_PROCEDIMENTOARQ++; } else { intCD_PROCEDIMENTOARQ = 1; } string NomeArquivo = data.ProcedimentoAdm.CD_PROCEDIMENTO.ToString() + '_' + intCD_PROCEDIMENTOARQ.ToString() + '_' + string.Format("{0}", Path.GetFileName(a.FileName)); var path = Path.Combine(Server.MapPath(Settings.caminho_arquivos_procedimento), NomeArquivo); string sqlFile = string.Format(" INSERT INTO PROCEDIMENTOARQ VALUES ({0},{1},\'{2}\')", intCD_PROCEDIMENTOARQ, data.ProcedimentoAdm.CD_PROCEDIMENTO, NomeArquivo); db.Database.ExecuteSqlCommand(sqlFile); a.SaveAs(path); } } } } //} int cd_regional = (from a in db.Clientes.Where(a => a.CD_CADASTRO == data.ProcedimentoAdm.CD_CADASTRO) select a.CD_REGIONAL).FirstOrDefault(); data.ProcedimentoAdm.CD_USUARIO = cd_usuario; data.ProcedimentoAdm.CD_USUARIO_ALTERACAO = cd_usuario; data.ProcedimentoAdm.OBSATENDIMENTO = ""; data.ProcedimentoAdm.CD_REGIONAL = cd_regional; data.ProcedimentoAdm.CD_ANEXO = 1; try { db.ProcedimentoAdm.Add(data.ProcedimentoAdm); data.Garantia.cod_procedimento_vinculado = data.ProcedimentoAdm.CD_PROCEDIMENTO; data.Garantia.vlr_credito_vinculado = data.ProcedimentoAdm.VL_CLIENTE; db.Entry(data.Garantia).State = EntityState.Modified; GarantiaProcedimento Gatprocedimento = new GarantiaProcedimento { id = db.Database.SqlQuery <Int32>("select GarantiaProcedimentoSeq.NextVal from dual ").FirstOrDefault <Int32>(), garantiaId = data.Garantia.garantiaid, cod_procedimento = data.ProcedimentoAdm.CD_PROCEDIMENTO }; db.GarantiaProcedimento.Add(Gatprocedimento); db.SaveChanges(); SendEmail email = new SendEmail(); email.EnviarEmail(data.ProcedimentoAdm.CD_PROCEDIMENTO, "Create"); } catch (DbEntityValidationException e) { //foreach (var result in e.EntityValidationErrors) // { // foreach (var error in result.ValidationErrors) // { ModelState.AddModelError("", e.Message); //} // } return(View(data)); } } else { foreach (ModelState modelState in ModelState.Values) { foreach (ModelError error in modelState.Errors) { ModelState.AddModelError("", error.Exception.Message); } } return(View(data)); } return(RedirectToAction("Details", "Garantias", new { id = data.Garantia.garantiaid })); return(View(data)); }
public ActionResult FinalizaGarantia(int id) { decimal Tqtd_avariada = db.GarantiaItem.Where(a => a.garantiaid == id).Sum(p => p.qtd_avariada * p.vlr_lancamento); decimal Tqtd_faltante = db.GarantiaItem.Where(a => a.garantiaid == id).Sum(p => p.qtd_faltante * p.vlr_lancamento); decimal Tqtd_outras_marcas = db.GarantiaItem.Where(a => a.garantiaid == id).Sum(p => p.qtd_outras_marcas * p.vlr_lancamento); decimal Tqtd_atendida = db.GarantiaItem.Where(a => a.garantiaid == id).Sum(p => p.qtd_atendida * p.vlr_lancamento); decimal Tqtd_descartada = db.GarantiaItem.Where(a => a.garantiaid == id).Sum(p => p.qtd_descartada * p.vlr_lancamento); decimal Tqtd_fora_garantia = db.GarantiaItem.Where(a => a.garantiaid == id).Sum(p => p.qtd_fora_garantia * p.vlr_lancamento); decimal Tqtd_lancamento = db.GarantiaItem.Where(a => a.garantiaid == id).Sum(p => p.qtd_lancamento * p.vlr_lancamento); decimal Ttd_reaproveitada = db.GarantiaItem.Where(a => a.garantiaid == id).Sum(p => p.qtd_reaproveitada * p.vlr_lancamento); decimal Ttd_recebida = db.GarantiaItem.Where(a => a.garantiaid == id).Sum(p => p.qtd_recebida * p.vlr_lancamento); decimal Tqtd_rejeitada = db.GarantiaItem.Where(a => a.garantiaid == id).Sum(p => p.qtd_rejeitada * p.vlr_lancamento); decimal VlrCreditoCliente = Tqtd_atendida; decimal VlrDebitoCliente = Tqtd_fora_garantia + Tqtd_outras_marcas + Tqtd_faltante + Tqtd_avariada; decimal VlrDebitoFoxlux = Tqtd_descartada; decimal VlrDebitoRepresentante = 0; decimal VlrDebitoTransportador = 0; var data = new Garantia_Procedimento_Model { ProcedimentoAdm = new ProcedimentoAdm(), Garantia = db.Garantia.Find(id), vlr_credito_cliente = VlrCreditoCliente, vlr_debito_cliente = VlrDebitoCliente, vlr_debito_foxlux = VlrDebitoFoxlux, vlr_debito_representante = VlrDebitoRepresentante, vlr_debito_transportador = VlrDebitoTransportador, Obs = "" }; decimal?VlrCreditoJaDadoAoCliente = data.Garantia.vlr_credito_vinculado; if (VlrCreditoJaDadoAoCliente.HasValue) { if (VlrCreditoJaDadoAoCliente > 0) { if (VlrCreditoJaDadoAoCliente == VlrCreditoCliente) { data.Garantia.dta_finalizacao = System.DateTime.Now; data.Garantia.cod_status = 3; db.Entry(data.Garantia).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Details", "Garantias", new { id = data.Garantia.garantiaid })); } else if (VlrCreditoJaDadoAoCliente > VlrCreditoCliente) { data.vlr_credito_cliente = 0; data.vlr_debito_representante = Math.Abs((decimal)VlrCreditoJaDadoAoCliente - (decimal)VlrCreditoCliente); } else if (VlrCreditoJaDadoAoCliente < VlrCreditoCliente) { data.vlr_credito_cliente = Math.Abs((decimal)VlrCreditoJaDadoAoCliente - (decimal)VlrCreditoCliente); data.vlr_debito_representante = 0; } } } ViewBag.cd_cadastro = new SelectList(db.Clientes.Where(a => a.CD_CADASTRO == data.Garantia.cod_cliente).ToList(), "CD_CADASTRO", "RAZAO", data.Garantia.cod_cliente); ViewBag.cd_tipo = new SelectList(db.TP_PROCEDIMENTO.Where(a => a.ATIVO == "S").ToList(), "CD_TIPO", "DES_TIPO", string.Empty); ViewBag.cd_departamento = new SelectList(db.DEPARTAMENTOes.Where(a => a.ATIVO == "S").ToList(), "CD_DEPARTAMENTO", "DESC_DEPARTAMENTO", string.Empty); ViewBag.cod_transportador = new SelectList(db.TRANSPORTADOR.ToList(), "COD_TRANSPORTADOR", "FullNameWithCode", data.Garantia.cod_transportador); ViewBag.motivoid = new SelectList(db.Tp_Procedimento_Motivos.Where(a => a.COD_TIPO == 0).ToList(), "cod_tipo", "des_nome"); return(View(data)); }