public JsonResult MantemPileline(int id, string origem, int idcliente, string contatonome, string contatoemail, string contatotelefones, string nomeprojeto, int idstatus, int idtipo, int idproduto, DateTime previsaocontrato, double valorlicenca, int qtlicenca, int prazocontrato, string obs) { var retorno = ""; var obj = new Indigo_Pipeline { pip_Id = id, pipCl_Id = idcliente, pipCl_ContatoNome = contatonome, pipCl_ContatoEmail = contatoemail, pipCl_ContatoTelefones = contatotelefones, pippj_Desc = nomeprojeto, pip_Status = idstatus, pip_Tipo = idtipo, pipprd_Id = idproduto, pip_PrevContrato = previsaocontrato, pip_ValorLicenca = Convert.ToDecimal(valorlicenca), pip_QtLicenca = qtlicenca, pip_TotalLicenca = Convert.ToDecimal(valorlicenca) * qtlicenca, pip_prazo = prazocontrato, pip_Obs = obs, pip_Prospec = DateTime.Now, pip_Origem = origem, pip_userPipecria = Convert.ToInt32(Session["IDUSUARIO"]) }; retorno = this.dataInterface.MantemPipeline(obj, null, "salva"); return(base.Json(new { Result = retorno }, 0)); }
public JsonResult MantemPilelineObs(int id, string obs) { var retorno = ""; int idu = Convert.ToInt32(Session["IDUSUARIO"].ToString()); Indigo_Usuario user = this.dataInterface.BuscaUsuario().FirstOrDefault(x => x.usr_Id == idu); var obj = new Indigo_Pipeline { pip_Id = id, pip_Obs = obs }; if (user.usr_PermissaoPipe == 1) { retorno = this.dataInterface.MantemPipeline(obj, null, "obs"); } return(base.Json(new { Result = retorno }, 0)); }
public JsonResult MantemPilelineStatus(int id, int status) { var retorno = ""; int idu = Convert.ToInt32(Session["IDUSUARIO"].ToString()); Indigo_Usuario user = this.dataInterface.BuscaUsuario().FirstOrDefault(x => x.usr_Id == idu); var obj = new Indigo_Pipeline(); obj.pip_Id = id; obj.pip_Status = status; if (status == 1) { obj.pip_Aguardando = DateTime.Now; } else if (status == 2) { obj.pip_Cancelado = DateTime.Now; } else if (status == 3) { obj.pip_Proposta = DateTime.Now; } else if (status == 4) { obj.pip_Contrato = DateTime.Now; } else if (status == 5) { obj.pip_Contrato = DateTime.Now; } if (user.usr_PermissaoPipe == 1) { retorno = this.dataInterface.MantemPipeline(obj, null, "status"); } return(base.Json(new { Result = retorno }, 0)); }
public ActionResult ImportarPipeline() { var arquivo = ""; if (Request != null) { HttpPostedFileBase file = Request.Files["arquivos"]; arquivo = Server.MapPath("~/Documents/" + file.FileName); file.SaveAs(arquivo); if ((file != null) && (file.ContentLength > 0) && !string.IsNullOrEmpty(file.FileName)) { int noOfCol = 0; int noOfRow = 0; string fileName = file.FileName; string fileContentType = file.ContentType; byte[] fileBytes = new byte[Request.ContentLength]; var data = Request.InputStream.Read(fileBytes, 0, Convert.ToInt32(Request.ContentLength)); var Arquivo = new FileInfo(arquivo); using (var package = new ExcelPackage(Arquivo)) { var currentSheet = package.Workbook.Worksheets; var workSheet = currentSheet.First(); noOfCol = workSheet.Dimension.End.Column; noOfRow = workSheet.Dimension.End.Row; for (int i = 2; i <= noOfRow; i++) { try { if (workSheet.Cells[i, 1] != null) { if (workSheet.Cells[i, 1].Value.ToString() != "") { var retorno = ""; int status = 0; if (workSheet.Cells[i, 5].Value.ToString() == "Prospecção") { status = 0; } else if (workSheet.Cells[i, 5].Value.ToString() == "Aguardando") { status = 1; } else if (workSheet.Cells[i, 5].Value.ToString() == "Cancelado") { status = 2; } else if (workSheet.Cells[i, 5].Value.ToString() == "Proposta") { status = 3; } else if (workSheet.Cells[i, 5].Value.ToString() == "Contrato") { status = 4; } else if (workSheet.Cells[i, 5].Value.ToString() == "Concluído") { status = 5; } else if (workSheet.Cells[i, 5].Value.ToString() == "Concluído e aprovado") { status = 6; } int tipo = 0; if (workSheet.Cells[i, 6].Value.ToString() == "PoC") { tipo = 0; } else if (workSheet.Cells[i, 6].Value.ToString() == "Try and Buy") { tipo = 1; } else if (workSheet.Cells[i, 6].Value.ToString() == "Venda") { tipo = 2; } decimal ValorLicenca = Convert.ToDecimal(workSheet.Cells[i, 8].Value.ToString()); int QtLicenca = Convert.ToInt32(workSheet.Cells[i, 9].Value.ToString()); decimal TotalLicenca = (Convert.ToInt32(workSheet.Cells[i, 9].Value.ToString()) * Convert.ToDecimal(workSheet.Cells[i, 8].Value.ToString())); var obj = new Indigo_Pipeline { pip_Id = Convert.ToInt32(workSheet.Cells[i, 1].Value), pip_Status = status, pip_Tipo = tipo, pip_PrevContrato = Convert.ToDateTime(workSheet.Cells[i, 7].Value.ToString()), pip_ValorLicenca = ValorLicenca, pip_QtLicenca = QtLicenca, pip_TotalLicenca = TotalLicenca, pip_Obs = workSheet.Cells[i, 11].Value.ToString() }; retorno = this.dataInterface.MantemPipeline(obj, null, "importa"); } } } catch { } } } } } return(View("Pipeline")); }
public JsonResult IniciarProjeto(int id, int responsavel, int qtpas, string objprojeto) { var retorno = ""; var obj = new Indigo_Pipeline { pip_Id = id, pip_Status = 6, pip_userResp = responsavel, pip_Qtpas = qtpas, pip_DtAprovacao = DateTime.Now, pip_Objetivo = objprojeto }; var projetos = this.dataInterface.BuscaProjeto().Count(); var Id = ""; var produto = this.dataInterface.BuscaPipeline().OrderByDescending(y => y.pip_Id).FirstOrDefault(x => x.pip_Id == id); Id = Id + DateTime.Now.Year + "-" + DateTime.Now.Month.ToString().PadLeft(2, '0') + "-" + produto.Indigo_ClienteFinal.clf_Sigla + "-" + produto.Indigo_Produto.prd_Sigla + "-" + (projetos + 1).ToString().PadLeft(3, '0'); retorno = this.dataInterface.MantemPipeline(obj, Id, "envia"); var user = this.dataInterface.BuscaUsuario().FirstOrDefault(x => x.usr_Id == responsavel); var pipe = this.dataInterface.BuscaPipeline().FirstOrDefault(x => x.pip_Id == id); var userc = this.dataInterface.BuscaUsuario().FirstOrDefault(x => x.usr_Id == pipe.pip_userPipecria); StringBuilder pagina = new StringBuilder(); string trataHora = ""; if (DateTime.Now.Hour < 12) { trataHora = "Bom dia"; } else if (DateTime.Now.Hour > 12 && DateTime.Now.Hour < 18) { trataHora = "Boa tarde"; } else if (DateTime.Now.Hour > 18) { trataHora = "Boa noite"; } pagina.Append(@"<!DOCTYPE html> <html> <head> <title> Pipeline de projetos </title> </head> <body> <style> .Aceitar { color: white; font - size: 16px; text - transform: uppercase; background: #1886cf; } .Negar { margin - top: 40px; width: 150px; height: 50px; color: white; font - size: 16px; text - transform: uppercase; background: #e52525; } </style> <p>" + user.usr_Nome + ", " + trataHora + @" </p> <p> Você tem um projeto para iniciar, enviado por " + userc.usr_Nome + @".</p> <table align = ""center""> <th> Cliente </th> <th> Produto </th> <th> Projeto </th> <th> Tipo </th> <th> Objetivo </th> <tr> <td>" + pipe.Indigo_ClienteFinal.clf_Descricao + @"</td> <td>" + pipe.Indigo_Produto.prd_Descricao + @"</td> <td>" + pipe.pippj_Desc + @"</td> <td>" + pipe.pip_Tipo.Value.ToString().Replace("0", "PoC").Replace("1", "Try and buy").Replace("2", "Venda") + @"</td> <td>" + pipe.pip_Objetivo + @"</td> </tr> </table> <table align = ""center""> <tr> <td> <a class=""Aceitar"" href =""http://admin.indigosoft.biz/Pipeline/Aceitar?id=" + pipe.pip_Id + @"&a=1"" style=""text-decoration:none;"">ACEITAR</a> </td> <td> <a class=""Negar"" href =""http://admin.indigosoft.biz/Pipeline/Aceitar?id=" + pipe.pip_Id + @"&a=0"" style=""text-decoration:none;"">RECUSAR(Necessário inserir texto de justificativa)</a> </td> </tr> </table> </body> </html>"); var respEmail = EnviaEmail("*****@*****.**", "indigo.2017", user.usr_Email, "Pipeline de projetos", pagina.ToString()); return(base.Json(new { Result = retorno }, 0)); }
public string MantemPipeline(Indigo_Pipeline pipeline, string id, string acao) { try { var context = new Indigo_Controle_Licenca(); Indigo_Pipeline pipelineTemp = context.Indigo_Pipeline.FirstOrDefault(x => x.pip_Id == pipeline.pip_Id); Indigo_Produto pipelineTempProd = new Indigo_Produto(); int id_prod = 0; if (pipelineTemp != null) { pipelineTempProd = context.Indigo_Produto.FirstOrDefault(x => x.prd_ClfId == pipelineTemp.pipCl_Id && x.prd_Descricao == pipelineTemp.Indigo_Produto.prd_Descricao); if (pipelineTempProd != null) { id_prod = pipelineTempProd.prd_Id; } } if (pipelineTemp != null && acao == "importa") { pipelineTemp.pip_Id = pipeline.pip_Id; pipelineTemp.pip_Status = pipeline.pip_Status; pipelineTemp.pip_Tipo = pipeline.pip_Tipo; pipelineTemp.pip_PrevContrato = pipeline.pip_PrevContrato; pipelineTemp.pip_ValorLicenca = pipeline.pip_ValorLicenca; pipelineTemp.pip_QtLicenca = pipeline.pip_QtLicenca; pipelineTemp.pip_TotalLicenca = pipeline.pip_TotalLicenca; pipelineTemp.pip_Obs = pipeline.pip_Obs; context.Indigo_Pipeline.AddOrUpdate(pipelineTemp); context.SaveChanges(); } else if (pipelineTemp != null && acao == "obs") { pipelineTemp.pip_Obs = pipeline.pip_Obs; context.Indigo_Pipeline.AddOrUpdate(pipelineTemp); context.SaveChanges(); } else if (pipelineTemp != null && acao == "status") { pipelineTemp.pip_Status = pipeline.pip_Status; if (pipeline.pip_Status == 1 && pipelineTemp.pip_Aguardando == null) { pipelineTemp.pip_Aguardando = DateTime.Now; } else if (pipeline.pip_Status == 2 && pipelineTemp.pip_Cancelado == null) { pipelineTemp.pip_Cancelado = DateTime.Now; } else if (pipeline.pip_Status == 3 && pipelineTemp.pip_Proposta == null) { pipelineTemp.pip_Proposta = DateTime.Now; } else if (pipeline.pip_Status == 4 && pipelineTemp.pip_Contrato == null) { pipelineTemp.pip_Contrato = DateTime.Now; } else if (pipeline.pip_Status == 5 && pipelineTemp.pip_Concluido == null) { pipelineTemp.pip_Concluido = DateTime.Now; } context.Indigo_Pipeline.AddOrUpdate(pipelineTemp); context.SaveChanges(); } else if (pipelineTemp != null && acao == "tipo") { pipelineTemp.pip_Tipo = pipeline.pip_Tipo; context.Indigo_Pipeline.AddOrUpdate(pipelineTemp); context.SaveChanges(); } else if (pipelineTemp != null && acao == "aceita") { context.Indigo_Pipeline.AddOrUpdate(pipeline); context.SaveChanges(); } else if (pipelineTemp == null && acao == "salva") { context.Indigo_Pipeline.AddOrUpdate(pipeline); context.SaveChanges(); } else if (pipelineTemp != null && acao == "envia") { pipelineTemp.pip_Status = pipeline.pip_Status; pipelineTemp.pip_userResp = pipeline.pip_userResp; pipelineTemp.pip_Qtpas = pipeline.pip_Qtpas; if (pipelineTemp.pip_DtAprovacao == null) { pipelineTemp.pip_DtAprovacao = pipeline.pip_DtAprovacao; } pipelineTemp.pip_Objetivo = pipeline.pip_Objetivo; context.Indigo_Pipeline.AddOrUpdate(pipelineTemp); context.SaveChanges(); if (pipelineTempProd == null) { var obj_pd = new Indigo_Produto { prd_ClfId = pipelineTemp.pipCl_Id, prd_Descricao = pipelineTemp.Indigo_Produto.prd_Descricao, prd_ativo = 0 }; context.Indigo_Produto.AddOrUpdate(obj_pd); context.SaveChanges(); id_prod = obj_pd.prd_Id; } var obj_pj = new Indigo_Projeto { prj_idusr = pipelineTemp.pip_userResp, prj_Descricao = pipelineTemp.pippj_Desc, prj_PrdId = id_prod, prj_IdControle = id }; context.Indigo_Projeto.AddOrUpdate(obj_pj); context.SaveChanges(); pipelineTemp.pipprd_Id = id_prod; context.Indigo_Pipeline.AddOrUpdate(pipelineTemp); context.SaveChanges(); } else if (pipelineTemp != null && acao == "inicia") { pipeline.pip_Aceito = DateTime.Now; context.Indigo_Pipeline.AddOrUpdate(pipeline); context.SaveChanges(); } return("sucesso"); } catch (Exception ex) { return(String.Format("Erro ao salvar o Produto {0}", ex.Message)); } }