Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
 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));
 }
Esempio n. 3
0
        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);
            }
        }