public IHttpActionResult GenerateServiceOrderReport(MultiDataModel multiData)
        {
            BoardServiceOrder data = JsonConvert.DeserializeObject <BoardServiceOrder>(multiData.String1);

            var result = ServiceOrderBL.GenerateServiceOrderReport(data, multiData.Int1, data.FechaEmision);

            return(Ok(result));
        }
        public IHttpActionResult AddServiceOrder(MultiDataModel multiData)
        {
            BoardServiceOrder data = JsonConvert.DeserializeObject <BoardServiceOrder>(multiData.String1);

            var result = ServiceOrderBL.AddServiceOrder(data, multiData.Int1, multiData.Int2);

            return(Ok(result));
        }
Ejemplo n.º 3
0
        public JsonResult GenerateServiceOrderReport(BoardServiceOrder data)
        {
            Api API = new Api();

            Dictionary <string, string> arg = new Dictionary <string, string>()
            {
                { "String1", JsonConvert.SerializeObject(data) },
                { "Int1", ViewBag.USER.SystemUserId.ToString() },
            };

            var result = API.Post <MessageCustom>("ServiceOrder/GenerateServiceOrderReport", arg);

            return(new JsonResult {
                Data = result, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
Ejemplo n.º 4
0
        public static MessageCustom AddServiceOrder(BoardServiceOrder data, int userId, int nodeId)
        {
            MessageCustom msg = new MessageCustom();

            try
            {
                using (var ts = new TransactionScope())
                {
                    #region Entities
                    ServiceOrderBE oServiceOrderBE = new ServiceOrderBE();
                    oServiceOrderBE.v_ServiceOrderId       = data.EntityserviceOrder.v_ServiceOrderId;
                    oServiceOrderBE.v_CustomServiceOrderId = data.EntityserviceOrder.v_CustomServiceOrderId;
                    oServiceOrderBE.v_Description          = data.EntityserviceOrder.v_Description;
                    oServiceOrderBE.v_Comentary            = data.EntityserviceOrder.v_Comentary;
                    oServiceOrderBE.i_NumberOfWorker       = data.EntityserviceOrder.i_NumberOfWorker;
                    oServiceOrderBE.r_TotalCost            = data.EntityserviceOrder.r_TotalCost;
                    oServiceOrderBE.d_DeliveryDate         = data.EntityserviceOrder.d_DeliveryDate;
                    oServiceOrderBE.i_ServiceOrderStatusId = data.EntityserviceOrder.i_ServiceOrderStatusId;
                    oServiceOrderBE.i_LineaCreditoId       = data.EntityserviceOrder.i_LineaCreditoId;
                    oServiceOrderBE.i_MostrarPrecio        = data.EntityserviceOrder.i_MostrarPrecio;
                    oServiceOrderBE.i_EsProtocoloEspecial  = data.EntityserviceOrder.i_EsProtocoloEspecial;


                    List <ServiceOrderDetailBE> ListServiceOrderDetailBE = new List <ServiceOrderDetailBE>();
                    var iter = 0;
                    foreach (var obj in data.ListEntityServiceOrder)
                    {
                        iter++;
                        ProtocolList _prot = new ProtocolList();
                        _prot.v_ProtocolId = obj.v_ProtocolId;

                        bool existName = true;

                        while (existName)
                        {
                            _prot.v_Name = data.EntityserviceOrder.v_OrganizationName + "-" + obj.v_ProtocolTypeName + "-" + iter + "-" + obj.v_GesoName;
                            MessageCustom resultVerify = ProtocolDal.VerifyExistsProtocol(_prot.v_Name);
                            if (resultVerify.Id == null)
                            {
                                existName = false;
                            }
                            else
                            {
                                iter++;
                            }
                        }

                        _prot.v_CustomerOrganizationId   = data.EntityserviceOrder.v_OrganizationId + "|" + data.EntityserviceOrder.v_LocationId;
                        _prot.v_IntermediaryOrganization = data.EntityserviceOrder.v_OrganizationId + "|" + data.EntityserviceOrder.v_LocationId;
                        _prot.v_WorkingOrganizationId    = data.EntityserviceOrder.v_OrganizationId + "|" + data.EntityserviceOrder.v_LocationId;
                        _prot.v_Geso            = obj.v_GroupOccupationId;
                        _prot.i_IsActive        = 1;
                        _prot.i_EsoTypeId       = obj.i_ProtocolType;
                        _prot.i_ServiceTypeId   = 1; //Empresarial
                        _prot.i_MasterServiceId = 2; //Examen de salud ocupacional

                        _prot.ListComponents = obj.ProtocolComponents;

                        var result = ProtocolBL.SaveProtocols(_prot, userId, nodeId);
                        if (result.Error)
                        {
                            throw new Exception(result.Message);
                        }
                        obj.v_ProtocolId = result.Id;

                        ServiceOrderDetailBE oServiceOrderDetailBE = new ServiceOrderDetailBE();
                        oServiceOrderDetailBE.v_ServiceOrderDetailId   = obj.v_ServiceOrderDetailId;
                        oServiceOrderDetailBE.v_ServiceOrderId         = obj.v_ServiceOrderId;
                        oServiceOrderDetailBE.v_ProtocolId             = obj.v_ProtocolId;
                        oServiceOrderDetailBE.r_ProtocolPrice          = obj.r_ProtocolPrice;
                        oServiceOrderDetailBE.i_NumberOfWorkerProtocol = obj.i_NumberOfWorkerProtocol;
                        oServiceOrderDetailBE.r_Total = obj.r_Total;

                        ListServiceOrderDetailBE.Add(oServiceOrderDetailBE);
                    }
                    #endregion

                    string ServiceOrderId = ServiceOrderDal.AddServiceOrder(oServiceOrderBE, ListServiceOrderDetailBE, userId, nodeId);

                    msg.Error   = false;
                    msg.Id      = ServiceOrderId ?? throw new Exception("Sucedió un error al grabar las ordenes, por favor actualice y vuelva a intentar.");
                    msg.Message = "Se guardó correctamente.";
                    msg.Status  = (int)HttpStatusCode.Created;

                    ts.Complete();
                    return(msg);
                }
            }
            catch (Exception ex)
            {
                msg.Message = ex.Message;
                msg.Error   = true;
                msg.Status  = (int)HttpStatusCode.Conflict;
                return(msg);
            }
        }
Ejemplo n.º 5
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);
            }
        }