public static MessageCustom GenerateServiceOrderReport(BoardServiceOrder data, int userId, string FechaEmision) { MessageCustom msg = new MessageCustom(); try { var MedicalCenter = ServiceBl.GetInfoMedicalCenterSede(); var pEmpresaCliente = data.EntityserviceOrder.v_OrganizationName; //var _DataService = ProtocolBL.GetProtocolById(ProtocolId); List <ProtocolComponentCustom> ListaComponentes = new List <ProtocolComponentCustom>(); List <ServiceOrderPdf> Lista = new List <ServiceOrderPdf>(); foreach (var objServiceOrder in data.ListEntityServiceOrder) { ServiceOrderPdf objSerOrdPdf = new ServiceOrderPdf(); var oProtocolo = ProtocolBL.GetProtocolById(objServiceOrder.v_ProtocolId); objSerOrdPdf.v_ServiceOrderId = data.EntityserviceOrder.v_ServiceOrderId; objSerOrdPdf.EmpresaCliente = oProtocolo.v_OrganizationInvoice + " / " + oProtocolo.v_GroupOccupation + " / " + oProtocolo.v_EsoType; var board = ProtocolBL.GetProtocolComponentByProtocolId(objServiceOrder.v_ProtocolId); ListaComponentes = board.ListProtocolComponents; List <ServiceOrderDetailPdf> ListaServiceOrderDetailPdf = new List <ServiceOrderDetailPdf>(); foreach (var Componente in ListaComponentes) { ServiceOrderDetailPdf oServiceOrderDetailPdf = new ServiceOrderDetailPdf(); oServiceOrderDetailPdf.v_ServiceOrderDetailId = data.ListEntityServiceOrder.Find(p => p.v_ProtocolId == oProtocolo.v_ProtocolId).v_ServiceOrderDetailId; oServiceOrderDetailPdf.v_ServiceOrderId = data.EntityserviceOrder.v_ServiceOrderId; oServiceOrderDetailPdf.v_ComponentId = Componente.ComponentId; oServiceOrderDetailPdf.Componente = Componente.ComponentName; oServiceOrderDetailPdf.v_Precio = Componente.Price; ListaServiceOrderDetailPdf.Add(oServiceOrderDetailPdf); } objSerOrdPdf.DetalleServiceOrder = ListaServiceOrderDetailPdf; objSerOrdPdf.TotalProtocolo = ListaServiceOrderDetailPdf.Sum(s => s.v_Precio); Lista.Add(objSerOrdPdf); } var oSystemUserList = new SecurityDal().GetSystemUserAndProfesional(userId); string ruta = HttpContext.Current.Server.MapPath("~/" + System.Configuration.ConfigurationManager.AppSettings["rutaCotizacion"]); string path = ruta + "/" + data.EntityserviceOrder.v_ServiceOrderId + ".pdf"; if (data.EntityserviceOrder.i_EsProtocoloEspecial == (int)SiNo.Si) { OrdenServicioPromocion.CrearOrdenServicio(data.EntityserviceOrder.i_MostrarPrecio == (int)SiNo.Si ? true : false, Lista, MedicalCenter, pEmpresaCliente, DateTime.Parse(FechaEmision).ToString("dd 'd'e MMMM 'd'e yyyy"), oSystemUserList == null ? "" : oSystemUserList.Profesion + ". " + oSystemUserList.v_PersonName, path); } else { OrdenServicio.CrearOrdenServicio(data.EntityserviceOrder.i_MostrarPrecio == (int)SiNo.Si ? true : false, Lista, MedicalCenter, pEmpresaCliente, data.EntityserviceOrder.v_ServiceOrderId, DateTime.Parse(FechaEmision).ToString("dd 'd'e MMMM 'd'e yyyy"), oSystemUserList == null ? "" : oSystemUserList.Profesion + ". " + oSystemUserList.v_PersonName, path); } msg.Error = false; msg.Id = data.EntityserviceOrder.v_ServiceOrderId + ".pdf"; msg.Status = (int)HttpStatusCode.Accepted; return(msg); } catch (Exception ex) { msg.Error = true; msg.Status = (int)HttpStatusCode.BadRequest; msg.Message = ex.InnerException != null ? ex.InnerException.Message : ex.Message; return(msg); } }
public static MessageCustom AddSystemUserExternal(PersonDto pobjPerson, ProfessionalBE pobjProfessional, SystemUserDto pobjSystemUser, List <ProtocolSystemUserBE> ListProtocolSystemUser, int userId, int nodeId) { pobjSystemUser.v_Password = SecurityDal.Encrypt(pobjSystemUser.v_Password.Trim()); return(new PacientDal().AddSystemUserExternal(pobjPerson, pobjProfessional, pobjSystemUser, ListProtocolSystemUser, userId, nodeId)); }
public MessageCustom AddSystemUserExternal(PersonDto pobjPerson, ProfessionalBE pobjProfessional, SystemUserDto pobjSystemUser, List <ProtocolSystemUserBE> ListProtocolSystemUser, int userId, int nodeId) { //mon.IsActive = true; string newId = string.Empty; int systemUserId = -1; MessageCustom msg = new MessageCustom(); OperationResult objOperationResult = new OperationResult(); try { using (var ts = new TransactionScope()) { #region Validations // Validar el DNI de la persona DatabaseContext dbContext = new DatabaseContext(); if (pobjPerson != null) { if (pobjSystemUser.i_SystemUserId == -1) //-1 es nuevo { // Grabar Persona var _recordCount1 = GetPersonCount(pobjPerson.v_DocNumber); if (_recordCount1 != 0) { throw new Exception("El número de documento <strong>" + pobjPerson.v_DocNumber + "</strong> ya se encuentra registrado. Por favor ingrese otro número de documento."); } pobjPerson.d_InsertDate = DateTime.Now; pobjPerson.i_InsertUserId = userId; pobjPerson.i_IsDeleted = 0; // Autogeneramos el Pk de la tabla newId = new Common.Utils().GetPrimaryKey(nodeId, 8, "PP"); pobjPerson.v_PersonId = newId; dbContext.Person.Add(pobjPerson); dbContext.SaveChanges(); // Grabar Profesional pobjProfessional.v_PersonId = pobjPerson.v_PersonId; bool resultProf = AddProfessional(pobjProfessional, userId, nodeId); if (!resultProf) { throw new Exception("Sucedió un error al guardar el profesional, por favor actualice la pagina y vuelva a intentar"); } } else {//actualiza var objPerson = dbContext.Person.Where(x => x.v_PersonId == pobjPerson.v_PersonId).FirstOrDefault(); objPerson.v_FirstName = pobjPerson.v_FirstName; objPerson.v_FirstLastName = pobjPerson.v_FirstLastName; objPerson.v_SecondLastName = pobjPerson.v_SecondLastName; objPerson.i_DocTypeId = pobjPerson.i_DocTypeId; objPerson.v_DocNumber = pobjPerson.v_DocNumber; objPerson.i_SexTypeId = pobjPerson.i_SexTypeId; objPerson.i_MaritalStatusId = pobjPerson.i_MaritalStatusId; objPerson.i_LevelOfId = pobjPerson.i_LevelOfId; objPerson.v_Mail = pobjPerson.v_Mail; objPerson.v_BirthPlace = pobjPerson.v_BirthPlace; objPerson.v_TelephoneNumber = pobjPerson.v_TelephoneNumber; objPerson.d_Birthdate = pobjPerson.d_Birthdate; objPerson.v_AdressLocation = pobjPerson.v_AdressLocation; objPerson.i_UpdateUserId = userId; objPerson.d_UpdateDate = DateTime.Now; dbContext.SaveChanges(); var objProfessional = dbContext.Professional.Where(x => x.v_PersonId == pobjPerson.v_PersonId).FirstOrDefault(); objProfessional.i_ProfessionId = pobjProfessional.i_ProfessionId; objProfessional.v_ProfessionalCode = pobjProfessional.v_ProfessionalCode; objProfessional.v_ProfessionalInformation = pobjProfessional.v_ProfessionalInformation; objProfessional.i_UpdateUserId = userId; objProfessional.d_UpdateDate = DateTime.Now; dbContext.SaveChanges(); } } // Validar existencia de UserName en la BD if (pobjSystemUser != null) { if (pobjSystemUser.i_SystemUserId == -1) { OperationResult objOperationResult7 = new OperationResult(); var _recordCount2 = new SecurityDal().GetSystemUserCount(pobjSystemUser.v_UserName); if (_recordCount2 != 0) { throw new Exception("El nombre de usuario <strong>" + pobjSystemUser.v_UserName + "</strong> ya se encuentra registrado.<br> Por favor ingrese otro nombre de usuario."); } } } #endregion // Grabar Usuario if (pobjSystemUser != null) { if (pobjSystemUser.i_SystemUserId == -1)//-1 es nuevo { pobjSystemUser.v_PersonId = pobjPerson.v_PersonId; pobjSystemUser.i_SystemUserTypeId = (int)SystemUserTypeId.External; pobjSystemUser.i_RolVentaId = -1; pobjSystemUser.v_SystemUserByOrganizationId = ListProtocolSystemUser != null?OrganizationDal.GetOrganizationIdByProtocolId(ListProtocolSystemUser[0].v_ProtocolId) : ""; systemUserId = new SecurityDal().AddSystemUSer(pobjSystemUser, userId, nodeId); if (systemUserId == -1) { throw new Exception("Sucedió un error al guardar el usuario, por favor actualice la pagina y vuelva a intentar"); } } else {//actualiza var objUser = dbContext.SystemUser.Where(x => x.i_SystemUserId == pobjSystemUser.i_SystemUserId).FirstOrDefault(); objUser.v_UserName = pobjSystemUser.v_UserName; objUser.v_Password = pobjSystemUser.v_Password; objUser.d_ExpireDate = pobjSystemUser.d_ExpireDate; objUser.i_UpdateUserId = userId; objUser.d_UpdateDate = DateTime.Now; systemUserId = objUser.i_SystemUserId; dbContext.SaveChanges(); } } #region GRABA ProtocolSystemUser if (ListProtocolSystemUser != null) { if (pobjSystemUser.i_SystemUserId == -1)//-1 es nuevo { bool resultProt = new ProtocolSystemUserDal().AddProtocolSystemUser(ListProtocolSystemUser, systemUserId, userId, nodeId); if (!resultProt) { throw new Exception("Sucedió un error al guardar los protocolos del usuario, por favor actualice la pagina y vuelva a intentar"); } } else //actualiza { bool deletedProt = ProtocolSystemUserDal.DeletedProtocolSystemUser(systemUserId, userId); if (!deletedProt) { throw new Exception("Sucedió un error al actualizar los protocolos del usuario, por favor actualice la pagina y vuelva a intentar"); } bool resultProt = new ProtocolSystemUserDal().AddProtocolSystemUser(ListProtocolSystemUser, systemUserId, userId, nodeId); if (!resultProt) { throw new Exception("Sucedió un error al actualizar los protocolos del usuario, por favor actualice la pagina y vuelva a intentar"); } } } #endregion msg.Error = false; msg.Status = (int)HttpStatusCode.Created; msg.Message = "Se guardó correctamente"; ts.Complete(); } return(msg); } catch (Exception ex) { msg.Error = true; msg.Status = (int)HttpStatusCode.BadRequest; msg.Message = ex.Message; return(msg); } }