//public static RececaoFaturacaoWorkflow Create(RececaoFaturacaoWorkflow item) //{ // if (item == null) // throw new ArgumentNullException("item"); // try // { // using (var ctx = new SuchDBContext()) // { // //item.Estado = BillingReceptionStates.Rececao; // item.DataCriacao = DateTime.Now; // //item.DataUltimaInteracao = DateTime.Now.ToString(); // ctx.RececaoFaturacaoWorkflow.Add(item); // ctx.SaveChanges(); // } // return item; // } // catch (Exception ex) // { // return null; // } //} //public static RececaoFaturacaoWorkflow Update(RececaoFaturacaoWorkflow item) //{ // if (item == null) // throw new ArgumentNullException("item"); // try // { // using (var ctx = new SuchDBContext()) // { // item.DataModificacao = DateTime.Now; // //item.DataUltimaInteracao = DateTime.Now.ToString(); // ctx.RececaoFaturacaoWorkflow.Update(item); // ctx.SaveChanges(); // } // return item; // } // catch (Exception ex) // { // return null; // } //} //public static bool Delete(RececaoFaturacaoWorkflow item) //{ // if (item == null) // throw new ArgumentNullException("item"); // try // { // using (var ctx = new SuchDBContext()) // { // ctx.RececaoFaturacaoWorkflow.Remove(item); // ctx.SaveChanges(); // } // return true; // } // catch (Exception ex) // { // return false; // } //} #endregion #region Parse Utilities public static BillingRecWorkflowModel ParseToViewModel(this RececaoFaturacaoWorkflow item) { if (item != null) { return(new BillingRecWorkflowModel() { Id = item.Id, CriadoPor = item.CriadoPor, DataCriacao = item.DataCriacao, DataModificacao = item.DataModificacao, Estado = (Enumerations.BillingReceptionStates)item.Estado, ModificadoPor = item.ModificadoPor, AreaWorkflow = item.AreaWorkflow, Area = item.Area, Data = item.Data, Descricao = item.Descricao, IdRecFaturacao = item.IdRecFaturacao, Utilizador = item.Utilizador, CodTipoProblema = item.CodTipoProblema, CodProblema = item.CodProblema, EnderecoEnvio = item.EnderecoEnvio, EnderecoFornecedor = item.EnderecoFornecedor, Comentario = item.Comentario, AttachedIs = item.Anexo, Destinatario = item.Destinatario, }); } return(null); }
public void Delete(RececaoFaturacaoWorkflow item) { if (item == null) { throw new ArgumentNullException("item"); } ctx.RececaoFaturacaoWorkflow.Remove(item); }
public BillingReceptionModel Create(BillingReceptionModel item) { bool autoGenId = false; bool isRec = true; int Cfg = (int)DBUserConfigurations.GetById(item.CriadoPor).PerfilNumeraçãoRecDocCompras; item.DataCriacao = DateTime.Now; item.IdAreaPendente = (int)BillingReceptionAreas.Contabilidade; item.AreaPendente = BillingReceptionAreas.Contabilidade.ToString(); item.Estado = BillingReceptionStates.Rececao; item.DataCriacao = DateTime.Now; item.DescricaoProblema = "Entrada fatura em receção"; if (item.Id == "" || item.Id == null) { ConfiguraçãoNumerações CfgNumeration = DBNumerationConfigurations.GetById(Cfg); autoGenId = true; item.Id = DBNumerationConfigurations.GetNextNumeration(Cfg, autoGenId, isRec); } if (item.Id != "" && item.Id != null) { item = repo.Create(item); RececaoFaturacaoWorkflow wfItem = new RececaoFaturacaoWorkflow(); wfItem.IdRecFaturacao = item.Id; wfItem.AreaWorkflow = Data.EnumHelper.GetDescriptionFor(typeof(BillingReceptionAreas), (int)BillingReceptionAreas.Contabilidade); wfItem.Descricao = "Entrada fatura em receção"; wfItem.CriadoPor = item.CriadoPor; wfItem.Data = DateTime.Now; wfItem.DataCriacao = DateTime.Now; wfItem.Estado = (int)BillingReceptionStates.Rececao;//TODO: Identificar estados possivels “Receção/Conferência” repo.Create(wfItem); try { repo.SaveChanges(); //Update Last Numeration Used ConfiguraçãoNumerações ConfigNumerations = DBNumerationConfigurations.GetById(Cfg); ConfigNumerations.ÚltimoNºUsado = wfItem.IdRecFaturacao; ConfigNumerations.UtilizadorModificação = item.CriadoPor; DBNumerationConfigurations.Update(ConfigNumerations); } catch (Exception ex) { return(null); } return(item); } else { return(item); } }
public RececaoFaturacaoWorkflow Update(RececaoFaturacaoWorkflow item) { if (item == null) { throw new ArgumentNullException("item"); } item.DataModificacao = DateTime.Now; item.Destinatario = ExtractUserNameFromEmail(item.Destinatario); item.Utilizador = ExtractUserNameFromEmail(item.Utilizador); ctx.RececaoFaturacaoWorkflow.Update(item); return(item); }
public BillingReceptionModel UpdateWorkFlow(BillingReceptionModel item, BillingRecWorkflowModel wfItemLast, string postedByUserName) { RececaoFaturacaoWorkflow wfItem = new RececaoFaturacaoWorkflow(); wfItem = DBBillingReceptionWf.ParseToDB(wfItemLast); item.Descricao = wfItemLast.Comentario; item.DataModificacao = DateTime.Now; wfItem.Utilizador = postedByUserName; wfItem.Id = 0; item = repo.Update(item); repo.Create(wfItem); try { repo.SaveChanges(); } catch (Exception ex) { return(null); } return(item); }
public int GetWorkFlow(BillingReceptionModel item) { RececaoFaturacaoWorkflow LastWork = DBBillingReceptionWf.GetAll().FirstOrDefault(); return(LastWork.Id); }
public BillingReceptionModel CreateWorkFlowSend(BillingReceptionModel item, BillingRecWorkflowModel wfItemLast, string postedByUserName) { //Update Header RecFacturasProblemas questao = new RecFacturasProblemas(); item.Estado = BillingReceptionStates.Pendente; RececaoFaturacaoWorkflow LastID = DBBillingReceptionWf.GetAll().LastOrDefault(); if (wfItemLast.CodProblema != null) { questao = GetQuestionID(wfItemLast.CodProblema, wfItemLast.CodTipoProblema); if (questao.Devolvido == true) { item.Estado = BillingReceptionStates.Devolvido; } else { item.Estado = BillingReceptionStates.Pendente; if (item.DataPassaPendente == null || item.DataPassaPendente == "") { item.DataPassaPendente = DateTime.Now.ToString("dd/MM/yyyy"); } } } item.DataUltimaInteracao = (item.DataModificacao == null) ? item.DataModificacao.ToString() : item.DataCriacao.ToString(); item.TipoProblema = wfItemLast.CodTipoProblema; item.AreaPendente = wfItemLast.AreaWorkflow; item.AreaPendente2 = wfItemLast.Area; item.Destinatario = wfItemLast.Destinatario; item.Descricao = wfItemLast.Comentario; item.TipoProblema = wfItemLast.CodTipoProblema; item.DescricaoProblema = wfItemLast.Descricao; item.DataModificacao = DateTime.Now; item.ModificadoPor = postedByUserName; item.AreaUltimaInteracao = wfItemLast.AreaWorkflow; item.UserUltimaInteracao = wfItemLast.CriadoPor; item = repo.Update(item); RececaoFaturacaoWorkflow wfItem = new RececaoFaturacaoWorkflow(); wfItem.IdRecFaturacao = item.Id; if (questao.Devolvido == true) { wfItem.Estado = (int)BillingReceptionStates.Devolvido; } else { wfItem.Estado = (int)BillingReceptionStates.Pendente; } wfItem.Area = wfItemLast.Area; wfItem.AreaWorkflow = wfItemLast.AreaWorkflow; wfItem.ModificadoPor = item.ModificadoPor; wfItem.Data = item.DataCriacao; wfItem.DataCriacao = DateTime.Now; wfItem.CriadoPor = postedByUserName; wfItem.EnderecoEnvio = postedByUserName; wfItem.EnderecoFornecedor = wfItemLast.EnderecoFornecedor; wfItem.CodDestino = wfItemLast.CodDestino; wfItem.Destinatario = wfItemLast.Destinatario; wfItem.CodTipoProblema = wfItemLast.CodTipoProblema; wfItem.CodProblema = wfItemLast.CodProblema; wfItem.Descricao = wfItemLast.Descricao; wfItem.Comentario = wfItemLast.Comentario; wfItem.Utilizador = postedByUserName; wfItem.Anexo = wfItemLast.AttachedIs; repo.Create(wfItem); if (wfItemLast.Attached != null) { int id = 0; int Idwork = GetWorkFlow(item); item.WorkflowItems.LastOrDefault().Id = Idwork + 1; RececaoFaturacaoWorkflowAnexo wfAnexoItem = new RececaoFaturacaoWorkflowAnexo(); foreach (BillingRecWorkflowModelAttached attached in wfItemLast.Attached) { wfAnexoItem = DBBillingReceptionWFAttach.ParseToDB(attached); wfAnexoItem.Idwokflow = Idwork + 1; wfAnexoItem.Id = id; repo.Create(wfAnexoItem); } } try { repo.SaveChanges(); } catch (Exception ex) { return(null); } RecFaturacaoConfigDestinatarios destino = null; if (wfItem.CodProblema == "RF1P") { destino = GetDestinationAreaDest(wfItemLast.CodDestino); } if (destino != null) { //Rever o Envio de Areas if (destino.EnviaEmail == true && wfItem.EnderecoFornecedor != "") { SendEmailBillingReception Email = new SendEmailBillingReception { Subject = "eSUCH - Recepção da Factura : " + item.Id, //From = "*****@*****.**" From = postedByUserName }; Email.To.Add(wfItem.EnderecoFornecedor); Email.Body = MakeEmailBodyContent("Solicita-se a validação da fatura enviada em anexo:", item.Id, item.CodFornecedor, item.DataUltimaInteracao, item.Valor.ToString(), postedByUserName); Email.IsBodyHtml = true; Email.SendEmail(); try { item.eReasonCode = 1; item.eMessage = "Resposta enviada com sucesso."; } catch { item.eReasonCode = 2; item.eMessage = "Não foi possível enviar email ao utilizador que criou o pedido (" + item.Id + ")"; } } } return(item); }