Exemplo n.º 1
0
        protected void btnSaveRefresh_Click(object sender, EventArgs e)
        {
            byte[]          byteArrayPhoto     = null;
            string          Mode               = Request.QueryString["Mode"].ToString();
            OperationResult objOperationResult = new OperationResult();

            if (Mode == "New")
            {
                // Create the entity
                organizationDto objEntity = new organizationDto();

                // Populate the entity

                objEntity.i_OrganizationTypeId   = string.IsNullOrEmpty(ddlTipoEmpresa.SelectedValue) ? (Int32?)null : Int32.Parse(ddlTipoEmpresa.SelectedValue);
                objEntity.i_SectorTypeId         = -1;
                objEntity.v_SectorCodigo         = txtCIIU.Text.Trim();
                objEntity.v_SectorName           = txtSector.Text;
                objEntity.v_IdentificationNumber = txtRUC.Text.Trim().ToUpper();
                objEntity.v_Name          = txtRazonSocial.Text.Trim().ToUpper();
                objEntity.v_Contacto      = txtContacto.Text.Trim().ToUpper();
                objEntity.v_EmailContacto = txtEmail.Text.Trim().ToUpper();
                objEntity.v_Address       = txtDireccion.Text.Trim().ToUpper();
                objEntity.v_PhoneNumber   = txtTelefono.Text.Trim().ToUpper();
                if (filePhoto.HasFile) // Si hay una imagen cargada lista para ser serializada sino se graba x defecto null
                {
                    byteArrayPhoto    = FileUploadToByteArray();
                    objEntity.b_Image = byteArrayPhoto;
                }

                // Save the data
                var empresaId = _oProtocolBL.AddOrganization(ref objOperationResult, objEntity, ((ClientSession)Session["objClientSession"]).GetAsList());

                List <ordenreporteDto> ListaOrdem       = new List <ordenreporteDto>();
                ordenreporteDto        oordenreporteDto = null;
                var Lista = _oProtocolBL.GetOrdenReportes(ref objOperationResult, "N009-OO000000052");
                foreach (var item in Lista)
                {
                    oordenreporteDto                   = new ordenreporteDto();
                    oordenreporteDto.i_Orden           = item.i_Orden;
                    oordenreporteDto.v_OrganizationId  = empresaId;
                    oordenreporteDto.v_NombreReporte   = item.v_NombreReporte;
                    oordenreporteDto.v_ComponenteId    = item.v_NombreCrystal;
                    oordenreporteDto.v_NombreCrystal   = item.v_NombreCrystal;
                    oordenreporteDto.i_NombreCrystalId = item.i_NombreCrystalId;
                    ListaOrdem.Add(oordenreporteDto);
                }
                _oProtocolBL.AddOrdenReportes(ref objOperationResult, ListaOrdem, ((ClientSession)Session["objClientSession"]).GetAsList());
            }
            else if (Mode == "Edit")
            {
                // Create the entity
                organizationDto objEntity = new organizationDto();

                // Populate the entity
                objEntity = Session["objEntity"] as organizationDto;

                objEntity.v_OrganizationId       = Session["OrganizationId"].ToString();
                objEntity.i_OrganizationTypeId   = string.IsNullOrEmpty(ddlTipoEmpresa.SelectedValue) ? (Int32?)null : Int32.Parse(ddlTipoEmpresa.SelectedValue);
                objEntity.i_SectorTypeId         = -1;
                objEntity.v_SectorCodigo         = txtCIIU.Text.Trim();
                objEntity.v_SectorName           = txtSector.Text;
                objEntity.v_IdentificationNumber = txtRUC.Text.Trim().ToUpper();
                objEntity.v_Name          = txtRazonSocial.Text.Trim().ToUpper();
                objEntity.v_Contacto      = txtContacto.Text.Trim().ToUpper();
                objEntity.v_EmailContacto = txtEmail.Text.Trim().ToUpper();
                objEntity.v_Address       = txtDireccion.Text.Trim().ToUpper();
                objEntity.v_PhoneNumber   = txtTelefono.Text.Trim().ToUpper();


                if (filePhoto.HasFile) // chekar si el control Upload tiene una imagen cargada para serializar
                {
                    var byteArrayPhoto1 = FileUploadToByteArray();
                    objEntity.b_Image = byteArrayPhoto1;
                }
                else
                {
                    bool isDeleted = Convert.ToBoolean(ViewState["isDeleted"]);

                    if (isDeleted)
                    {
                        objEntity.b_Image = null;
                    }
                }

                // Save the data
                _oProtocolBL.UpdateOrganization(ref objOperationResult, objEntity, ((ClientSession)Session["objClientSession"]).GetAsList());

                //Eliminar Antiguos Registros
                _oProtocolBL.DeleteOrdenReportes(ref objOperationResult, Session["OrganizationId"].ToString());

                List <ordenreporteDto> ListaOrdem       = new List <ordenreporteDto>();
                ordenreporteDto        oordenreporteDto = null;
                var Lista = _oProtocolBL.GetOrdenReportes(ref objOperationResult, "N009-OO000000052");
                foreach (var item in Lista)
                {
                    oordenreporteDto                   = new ordenreporteDto();
                    oordenreporteDto.i_Orden           = item.i_Orden;
                    oordenreporteDto.v_OrganizationId  = Session["OrganizationId"].ToString();
                    oordenreporteDto.v_NombreReporte   = item.v_NombreReporte;
                    oordenreporteDto.v_ComponenteId    = item.v_NombreCrystal;
                    oordenreporteDto.v_NombreCrystal   = item.v_NombreCrystal;
                    oordenreporteDto.i_NombreCrystalId = item.i_NombreCrystalId;
                    ListaOrdem.Add(oordenreporteDto);
                }
                _oProtocolBL.AddOrdenReportes(ref objOperationResult, ListaOrdem, ((ClientSession)Session["objClientSession"]).GetAsList());
            }

            if (objOperationResult.Success == 1)  // Operación sin error
            {
                // Cerrar página actual y hacer postback en el padre para actualizar
                PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
            }
            else  // Operación con error
            {
                Alert.ShowInTop("Error en operación:" + System.Environment.NewLine + objOperationResult.ExceptionMessage);
                // Se queda en el formulario.
            }
        }