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. } }